我使用了以下表达式
str.match(tag+"(\s*=\s*)((['"]*)(.+?)(['"]*)\1)");
其中str是要匹配的字符串,tag是变量
例如,上面的表达式应匹配
m="img"
m='img'
其中tag = m;
但在上面提到的内衬我正在
SyntaxError:意外的令牌]
答案 0 :(得分:2)
如果从正则表达式的末尾删除/ 1,它适用于m =“img”:
m(\s*=\s*)((['\"]*)(.*)(['\"]*))
“\ 1”将替换为模式中第一个子模式的值,因此如果您想匹配m =“img”; m ='img',您应该使用以下内容:
(m\s*=\s*)((['\"]*)(.*)(['\"]*)\1)
其中m是你的标签变量。
编辑:
你可以测试你的javascript regexps here。
答案 1 :(得分:1)
m = '''img'''
考虑到所有这些要点,可以得到以下解决方案:
var tag = 'm';
"m='img'".match(tag+"(\s*=\s*)((['\"]?)(.+?)\\3)")
// ["m='img'", "=", "'img'", "'", "img"]