[英]invalid group in regular expression
我想檢查是否有人沒有輸入yahoo,gmail或任何組word。為此,我創建了如下正則表達式,但是當我嘗試放入javascript時,它給出了無效的組。
if (str.match('/^(.*?(\W|^)(?i)(yahoo|gmail|com)(\W|$))$/')) {
return true;
}
您得到的錯誤與(?i)
,這是JS regex引擎不支持的內聯修飾符。 (\\W|^)
是某些庫中用於表示單詞邊界的常見構造,但在JS中,這里更容易使用單詞邊界\\b
。
我建議
var str = "YaHoo here"; if (/\\b(?:yahoo|gmail|com)\\b/i.test(str)) { console.log("Contains forbidden word!"); } else { console.log("Good!"); }
圖案細節 :
\\b
前導詞邊界 (?:yahoo|gmail|com)
-3個選擇中的任何一個 \\b
尾隨單詞邊界
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.