我的正则表达式存在以下问题。
我想在两个字符串之间搜索字符串。
datas
就是这样:
var datas = "a='00-8'b='13-'a+='00-2'b+='3333'c='4'";
我试试:
datas.match("a\+='(.*?)'");
由于+
符号,我无法使正则表达式正常工作。
任何帮助?
答案 0 :(得分:3)
您将 String 传递给match
,而不是 RegExp ,也许您想要
datas.match(/a\+='(.*?)'/);
或者,您需要转义 String 的反斜杠,以便它可以作为 RegExp 转义+
,即
datas.match("a\\+='(.*?)'");
答案 1 :(得分:1)
将正则表达式包含在正斜杠中。
datas.match(/a\+='(.*?)'/g);
OR
如果用双引号括起来,请再次撤消反斜杠。
> datas.match("a\\+='(.*?)'");
[ 'a+=\'00-2\'',
'00-2',
index: 15,
input: 'a=\'00-8\'b=\'13-\'a+=\'00-2\'b+=\'3333\'c=\'4\'' ]
> datas.match("a\\+='(.*?)'")[1];
'00-2'