火柴 ”;”正则表达式javascript中的字符

时间:2013-06-13 09:02:24

标签: javascript regex

我尝试检测这样的文字:E(id,x,y);

代码是:

var patt1= /\bE\[[\w]+,[\d]+,[\d]+\]\;\b/i;

document.write(patt1.test("E[id,1,2];"));

结果是:false

但是当我改变时

/\bE\[[\w]+,[\d]+,[\d]+\]\;\b/i;

/\bE\[[\w]+,[\d]+,[\d]+\]\;/i;

结果是:true。但它也允许E[id,1,2];moretext

2 个答案:

答案 0 :(得分:2)

哦!我成立了。 \ b 不会“检测字符串的开头和结尾”。它匹配单词边界。 ^是字符串的开头,$是字符串结尾。

所以我改变了“/ \ bE [[\ w] +,[\ d] +,[\ d] +] \; \ b / i;” to“/ ^ E [[\ w] +,[\ d] +,[\ d] +] \; $ / i;”适合正规的。感谢

答案 1 :(得分:1)

http://www.regexplanet.com/advanced/javascript/index.html是尝试正则表达式的好工具。我不知道为什么你对结果感到惊讶,因为它们是正确的。