正则表达式:匹配字符串PHP中的整个单词

时间:2015-11-20 04:51:49

标签: php regex

我的示例字符串是

  

印度印度的印度。

我想只将“印度”作为一个整体来匹配。我的正则表达式为/\b(india)[^'a-z]\b/i

但这给了我2场比赛。一个在“印度”,另一个在最后一个字。

为了避免让印度进入印度,我使用了这个正则表达式➜ ~ php --version PHP 5.3.29 (cli) (built: Nov 16 2015 16:28:23) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.2.6, Copyright (c) 2002-2014, by Derick Rethans 。但这个正则表达式与“印度”相匹配。 (注意点)

我只想和印度比赛。我怎样才能做到这一点?

我在PHP中这样做。

2 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式

\bIndia(?=$|\s)
  • (?=$|\s)肯定前瞻$在一行结尾处声明位置,或\s匹配任何空格字符[\r\n\t\f ]

如果您想允许,(comma).(dot),则只需使用

即可
\bIndia(?=[.,]|$|\s)

Regex

答案 1 :(得分:2)

您只需要修改正则表达式:

\b(India)\b(?!\')