PHP での正規表現の単語境界の明確化
PHP で正規表現を使用する場合、正確な文字列を得るには単語境界 (b) を理解することが重要ですマッチング。この区切り文字は、単語文字 (w) と単語以外の文字 (W) の間の移行をマークします。
この例では、目的は、単語「cat」を含む特定の単語と一致するかどうかを考慮することです。単語の始まりまたは終わり。しかし、期待された結果は得られません。
問題を詳しく見てみましょう:
最初の式:
preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
2 番目の式:
preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
解決策:
この問題に対処するには、単語の境界は単語文字から非単語文字への遷移がある場合にのみ一致することを理解することが重要です。最初のケースでは、「@」の前に単語の境界が作成されますが、2 番目のケースでは、「!」の間にそのような境界は存在しません。および "@."
したがって、単語文字で始まり単語文字で終わる単語と一致する正しい表現は次のとおりです。
preg_match("/\b@nimal\b/i", "something@nimal", $match);
以上が正確な文字列照合のために PHP 正規表現で単語境界 (\\b) を正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。