0
我的正则表达式有以下问题。正则表达式需要包含加号
我想搜索两个字符串之间的字符串。
的datas
就是这样:
var datas = "a='00-8'b='13-'a+='00-2'b+='3333'c='4'";
我尝试:
datas.match("a\+='(.*?)'");
我不能让正则表达式由于+
标志工作。
任何帮助吗?
我的正则表达式有以下问题。正则表达式需要包含加号
我想搜索两个字符串之间的字符串。
的datas
就是这样:
var datas = "a='00-8'b='13-'a+='00-2'b+='3333'c='4'";
我尝试:
datas.match("a\+='(.*?)'");
我不能让正则表达式由于+
标志工作。
任何帮助吗?
你传递一个字符串到match
,而不是一个正则表达式,也许你想
datas.match(/a\+='(.*?)'/);
或者,你需要逃避你反斜线为字符串因此它可以跳过+
作为正则表达式,即
datas.match("a\\+='(.*?)'");
用正斜杠将正则表达式括起来。
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'