繁体   English   中英

我的Javascript正则表达式有什么问题?

[英]What's wrong with my Javascript regex?

我希望正则表达式在且仅当字符串为nonefamilywork (但不包括我的family )时才匹配。

为什么以下代码结果为“ match”? 为什么^$不起作用?

var regex = new RegExp("^none|family|work$");
var str = "my family";
document.write(regex.test(str) ? "match" : "no");

| 经营者有优先级很低,所以你有有效的(^none)|(family)|(work$)它匹配任何与开始none ,包含family或结束work

使用此代替:

^(none|family|work)$

您正则表达式匹配之一

  • 字符串开头的“ none”;
  • 字符串中任何地方的“家庭”; 要么
  • 字符串末尾的“工作”。

您可能想要的是

var regex = new RegExp("^(none|family|work)$");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM