从正则表达式中排除子模式

时间:2015-01-14 15:18:23

标签: javascript regex

我有一个JS应用程序触发"刚果共和国"当我进入"刚果民主共和国"。我如何告诉我的/republic\s*of\s*the\s*congo/i正则表达式不要触发包含字符串"民主"?

\b不起作用,因为"民主"被白色空间隔开。

1 个答案:

答案 0 :(得分:1)

将正则表达式的边界添加为

/^republic\s*of\s*the\s*congo$/i 
  • ^将正则表达式锚定在字符串的开头。

  • $将正则表达式锚定在字符串的末尾

这些锚点确保Republic of the Congo没有任何前提或后跟。


现在,如果你的正则表达式支持负面看,你也可以把它写成

/(?<!democratic)\s*republic\s*of\s*the\s*congo/i 
  • (?<!democratic)断言Republic of the Congo未提及democratic