javascript RegEX与模式中的圆括号

时间:2012-03-07 09:23:59

标签: javascript regex

以下脚本返回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()是普通文本而不是硬编码?

3 个答案:

答案 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/