什么';我的Javascript正则表达式有什么问题?
我希望正则表达式在且仅当字符串为none、family或work(但不是我的family)时匹配 为什么以下代码的结果为“匹配”?为什么^和$不起作用什么';我的Javascript正则表达式有什么问题?,javascript,regex,testing,Javascript,Regex,Testing,我希望正则表达式在且仅当字符串为none、family或work(但不是我的family)时匹配 为什么以下代码的结果为“匹配”?为什么^和$不起作用 var regex = new RegExp("^none|family|work$"); var str = "my family"; document.write(regex.test(str) ? "match" : "no"); 运算符的优先级较低,因此您实际上拥有(^none)|(family)|(work$),它匹配以none开头、
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)|(family)|(work$)
,它匹配以none
开头、包含family
或以work
结尾的任何内容
改用这个:
^(none|family|work)$
您的正则表达式与以下任一项匹配:
- 字符串开头的“无”李>
- “家庭”在字符串中的任何位置;或
- 字符串末尾的“work”
var regex = new RegExp("^(none|family|work)$");
您的正则表达式与以下任一项匹配:
- 字符串开头的“无”李>
- “家庭”在字符串中的任何位置;或
- 字符串末尾的“work”
var regex = new RegExp("^(none|family|work)$");