2015-01-14 28 views
-1

我有一個JS應用程序,當我進入「剛果民主共和國」時觸發「剛果共和國」。我如何告訴我的/republic\s*of\s*the\s*congo/i正則表達式在包含字符串「民主」時不會觸發?從正則表達式中排除子模式

\b不起作用,因爲「民主」是由白色空間分隔的。

+1

不要忘記presceded指定您使用的語言/程序。例如,許多正則表達式都沒有負面看法... –

回答

1

的正則表達式添加邊界爲

/^republic\s*of\s*the\s*congo$/i 
  • ^錨正則表達式在字符串的開始。

  • $錨正則表達式在字符串

這些錨年底確保沒有什麼presceded或之後Republic of the Congo


現在,如果您正則表達式支持負的外觀後面,你也可以把它寫成

/(?<!democratic)\s*republic\s*of\s*the\s*congo/i 
  • (?<!democratic)斷言,Republic of the Congo不受democratic