我试图使用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