我試圖使用PHP的preg_match_all
來匹配Eu
或U.s.
。
給出以下句子:爲什麼在這個正則表達式中需要一個空格?
歐盟比美國好。在某些方面。
我可以匹配歐盟和美國。如果我使用:
preg_match_all("/\b(Eu|U\.s\.)\b/", $input_lines, $output_array);
但如果我使用:
preg_match_all("/\b(Eu|U\.s\.)\b/", $input_lines, $output_array);
爲什麼我需要後的一個空間。爲了讓我的正則表達式工作?
\ b詞邊界一致。例如逗號,句號或空格。既然你也有一個邊界字符,你匹配它會導致你的問題。你是否試圖在你的代碼的任何地方或最後找到該字符串。你能給一個你匹配的例子字符串嗎? – Augwa
它可能在一個句子的中間作爲一個單詞,也可能在它之後有一個逗號。例如「在美國,我們認爲美國是(嘿,不會在這裏變得政治化:寫任何你喜歡的東西!」)。在我之前的一句話中,這兩個國家都是。應該匹配。 – Eric
只用於'\ b' oO? – cottton