1

我有一种方法可以查找“不”这个词,然后是一个词,但是如果我有一个句子,例如:

这很好。不好

由于某种原因,由于前面的句号,'not'不会被拾取,任何人都知道如何解决这个问题,代码如下

   preg_match_all("/(?<=\b not\b)\b good\b/i", $find, $matches);
4

1 回答 1

2

\b匹配单词边界,即两个字符之间的位置,一个是单词字符,一个不是。单词字符是[a-zA-Z0-9]. 您在 之前的空格之前匹配单词边界not,并且那里没有单词边界,因为字符串的前一个字符是句号。

也就是说,句号和空格之间没有单词边界,因为两者都不是单词字符。

更多信息:http ://www.regular-expressions.info/wordboundaries.html

于 2012-04-04T21:21:38.787 回答