以下脚本返回null。如果我删除str和patt1中的圆括号为文本spot_Northeast(300)_comment
,它会正确返回<script type="text/javascript">
var str="0000CentralGasEform2,0000CentralGasEformNew,spot_Northeast(300)_comment";
var patt1=/\bspot_Northeast(300)_comment/g;
document.write(str.match(patt1));
</script>
在我的应用程序中,str中的值取自cookie,patt1中的值基于打开的窗口是动态的
regExp = new RegExp('\\b'+FormOpen+'\\b', 'g');
这里FormOpen是动态的。然后我替换cookie中的匹配
var temp=CookieList.replace(regExp,"");
有没有办法告诉RegEX()是普通文本而不是硬编码?
答案 0 :(得分:3)
逃避他们
var patt1=/\bspot_Northeast\(300\)_comment/g;
()是上下文中的保留字符(。*),例如,你需要告诉正则表达式引擎通过一个名为escaping的过程将它们视为普通文本
答案 1 :(得分:0)
转出括号:
var patt1=/\bspot_Northeast\(300\)_comment/g;
答案 2 :(得分:0)
你需要使用'\'转义字符来转义圆括号,因为它们在reg ex中具有特殊含义 你的reg ex看起来像......
var patt1=/\bspot_Northeast\(300\)_comment/