澄清PHP 中的正規表示式單字邊界
在PHP 中使用正規表示式時,理解單字邊界(b) 對於精確字串至關重要匹配。此分隔符號標記單字字元 (w) 和非單字字元 (W) 之間的轉換。
在提供的範例中,目的是匹配特定單詞,包括單字“cat”,同時考慮是否開始或結束一個單字。然而,並沒有達到預期的結果。
讓我們分解這個問題:
第一個表達式:
preg_match("/(^|\b)@nimal/i", "something@nimal", $match);
第二個表達式:
preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);
解決方案:
要解決此問題,必須了解單字邊界僅在從單字字元轉換為非單字字元時才匹配。在第一種情況下,在「@」之前創建單字邊界,而在第二種情況下,「!」之間不存在這樣的邊界。和“@.”
因此,匹配以單字字元開頭和結尾的單字的正確表達式是:
preg_match("/\b@nimal\b/i", "something@nimal", $match);
以上是如何在PHP正規表示式中正確使用單字邊界(\\b)來實現字串的精確匹配?的詳細內容。更多資訊請關注PHP中文網其他相關文章!