1

「not」という単語とその後の単語を検索するメソッドがありますが、次のような文がある場合:

これはいい。良くない

何らかの理由で、「not」がその前にある終止符のためにピックアップされません。誰もがこれを回避する方法を知っています。コードは以下のとおりです

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

1 に答える 1

2

\b単語境界と一致します。これは、一方が単語文字で、もう一方が単語文字でない 2 つの文字間の位置です。単語の文字は[a-zA-Z0-9]. の前のスペースの前に単語境界を一致させてnotいますが、文字列が前の文字としてピリオドを持っているため、そこに単語境界はありません。

つまり、どちらも単語の文字ではないため、ピリオドとスペースの間に単語の境界はありません。

詳細: http://www.regular-expressions.info/wordboundaries.html

于 2012-04-04T21:21:38.787 に答える