1

我正在尝试编写一个正则表达式来匹配任何形式的“先生”。ABCD。”,“先生。OSKELY。”,“先生。ANNEUS。”,“女士。PPHHIILLIIPPAA.','先生。LEE.'等。我目前正在使用'\b[M].\.\s[A-Z]+\.',但它一直缺少'Mr. 李。有什么建议么?理想情况下,我也希望它与“The GRAND POOBAH”相匹配,但这是次要的。

4

3 回答 3

1

你可以试试 \b[MT][a-z\.]{2}\s*[A-Z ]+\.

这个正则表达式匹配

  • PPHHIILLIIPPAA 女士。
  • 李先生。
  • 大普巴。
  • XXXX YYYY ZZZZ。

正则表达式可视化

调试演示

于 2013-10-02T19:01:33.730 回答
1

\b在这种情况下,您真的不需要使用单词边界。你可以这样做..

(?:M(?:rs?|s)|The)\.?\s+[A-Z ]+\.?
于 2013-10-02T19:10:52.740 回答
0

如果你想匹配 The GRAND POOBAH,你需要启用匹配案例(你使用它的地方)

 \b[A-Z][a-z\.]+\s[A-Z ]+\.?

我不确定你是否需要 \b

于 2013-10-02T19:01:18.303 回答