正则表达式在引号内不起作用
Regexp won't work inside quotes
我使用此正则表达式来匹配方括号内的文本
/'[link'](.*)'['/link']/g
我匹配的文本
[link]The text goes here[/link]
当我在 regex101 中测试它时,正则表达式的工作很棒,但是当我在我的网站中使用它时,它不起作用。这就是我在我的网站上使用它的方式。
case 'untitle':
var html = '<script>$(document).ready(function(){var topic = $(".post-body div").text();
topic = topic.split(/'[link'](.*)'['/link']/g); $(".article-title a").attr("href", topic[1]);
});<'/script>';
break;
$('body').append(html);
我发现正则表达式不起作用,因为它在引号内,所以我需要一种方法来转义它并使其工作。
你的问题是 '' 是转义续集,所以它正在转义 [ caharacter。您需要将字符串中的''
加倍。
但是设计很糟糕,附加JavaScript是没有意义的。
好吧,您正在尝试在某些情况下运行代码。为什么要将代码字符串附加到页面是没有意义的。
function linkify () {
var topic = $(".post-body div").text();
topic = topic.split(/'[link'](.*)'['/link']/g); $(".article-title a").attr("href", topic[1]);
}
和开关
case 'untitle':
linkify();
break;
目前还不清楚你的确切问题是什么;但你可能被正则表达式的贪婪所吸引。基本上,它匹配整个[link]The text goes here[/link] foo [link] bar [/link]
,而不仅仅是第一个。所以你需要改用'[link'](.*?)'['/link']
。
相关文章:
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 如果用户登录不起作用,则运行脚本
- 什么是最不坏的正则表达式来拒绝绝对无效的电子邮件地址
- 如果条件不起作用,则有类
- 如何在不使用 JavaScript 正则表达式的情况下将大写转换为小写,反之亦然
- 角度 2 向绑定不起作用,但表达式起作用
- 不能使用正则表达式将空格替换为零宽度空间
- jQuery 数学运算在 $(window).height() 上:如果减法不起作用,则除法不起作用
- 如果条件不起作用,则使用Javascript longhand
- 不是以正则表达式结尾的特定单词
- 如果语句不起作用,则第二个JavaScript表单验证
- 找不到与正则表达式模式匹配的字符串
- Javascript中不能用正则表达式删除占位符
- 我不能使用正则表达式
- 由多个单词(任意顺序)组成的不重复的正则表达式
- 我不能用正则表达式和变量替换字符
- 如果javascript不起作用,则嵌套
- 不能构造正则表达式
- 如果函数不起作用,则很可能
- 对于匹配/不匹配的正则表达式,返回true/false