Jquery 正则表达式中的括号
jsFiddle: 目前,这是可行的,但似乎与[abc]的任何其他实例都不匹配。我被告知在这个例子中使用regex global,但是在使用Jquery 正则表达式中的括号,jquery,regex,Jquery,Regex,jsFiddle: 目前,这是可行的,但似乎与[abc]的任何其他实例都不匹配。我被告知在这个例子中使用regex global,但是在使用newregexp(匹配“g”)时它将在每个字符上重复,而不是在[abc] 我如何调整它,使[abc]的所有实例变为xyz?使用RegExp方法(这样您可以使用g),但将字符串更改为'\\[abc\\] []是正则表达式中的特殊字符,因此需要对其进行转义。(请注意,还需要转义字符串文字的反斜杠。) 您还可以使用regex文本代替newregexp(…),如下
newregexp(匹配“g”)时代码>它将在每个字符上重复,而不是在[abc]
我如何调整它,使[abc]
的所有实例变为xyz
?使用RegExp
方法(这样您可以使用g
),但将字符串更改为'\\[abc\\]
[]
是正则表达式中的特殊字符,因此需要对其进行转义。(请注意,还需要转义字符串文字的反斜杠。)
您还可以使用regex文本代替newregexp(…)
,如下:/\[abc\]/g
使用RegExp
方法(因此您可以使用g
),但将字符串更改为\[abc\]
[]
是正则表达式中的特殊字符,因此需要对其进行转义。(请注意,还需要转义字符串文字的反斜杠。)
您还可以使用正则表达式文字来代替新的正则表达式(…)
,如:/\[abc\]/g
当您将正则表达式构建为字符串时,必须对特殊字符进行双转义。您可以使用此项,也可以简单地使用文字正则表达式:
var match = '[abc]';
$('div.text:contains(' + match + ')').each(function () {
$(this).text($(this).text().replace(match, 'xyz'));
});
将正则表达式构建为字符串时,必须双转义
\\
特殊字符。您可以使用此项,也可以简单地使用文字正则表达式:
var match = '[abc]';
$('div.text:contains(' + match + ')').each(function () {
$(this).text($(this).text().replace(match, 'xyz'));
});
$(this).text().replace(/\[abc\]/g, 'xyz')