[英]Matches “;” character in regular expression javascript
我尝试检测这样的文本: 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
。
哦! 我成立了 \\ b不会“检测字符串的开始和结束”。 它与单词边界匹配。 ^是字符串的开头,$是字符串的结尾。
因此,我更改为“ / \\ bE [[\\ w] +,[\\ d] +,[\\ d] +] \\; \\ b / i;” 改为“ / ^ E [[\\ w] +,[\\ d] +,[\\ d] +] \\; $ / i;” 正确的常规。 谢谢
http://www.regexplanet.com/advanced/javascript/index.html是尝试正则表达式的好工具。 我不知道为什么您对结果感到惊讶,因为它们是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.