Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
「not」という単語とその後の単語を検索するメソッドがありますが、次のような文がある場合:
これはいい。良くない
何らかの理由で、「not」がその前にある終止符のためにピックアップされません。誰もがこれを回避する方法を知っています。コードは以下のとおりです
preg_match_all("/(?<=\b not\b)\b good\b/i", $find, $matches);
\b単語境界と一致します。これは、一方が単語文字で、もう一方が単語文字でない 2 つの文字間の位置です。単語の文字は[a-zA-Z0-9]. の前のスペースの前に単語境界を一致させてnotいますが、文字列が前の文字としてピリオドを持っているため、そこに単語境界はありません。
\b
[a-zA-Z0-9]
not
つまり、どちらも単語の文字ではないため、ピリオドとスペースの間に単語の境界はありません。
詳細: http://www.regular-expressions.info/wordboundaries.html