我想正则表达式匹配当且仅当该字符串没有,家庭或工作(但不我的家人,例如)。我的Javascript正则表达式有什么问题?
为什么下面的代码会导致“匹配”?为什么^和$不起作用?
var regex = new RegExp("^none|family|work$");
var str = "my family";
document.write(regex.test(str) ? "match" : "no");
我想正则表达式匹配当且仅当该字符串没有,家庭或工作(但不我的家人,例如)。我的Javascript正则表达式有什么问题?
为什么下面的代码会导致“匹配”?为什么^和$不起作用?
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)$
你的正则表达式匹配要么:
你可能想要什么,而不是为
var regex = new RegExp("^(none|family|work)$");
非常感谢! – 2010-08-23 11:54:17
非常感谢! – 2010-08-23 11:54:45