我想正則表達式匹配當且僅當該字符串沒有,家庭或工作(但不我的家人,例如)。我的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