标题和名称的正则表达式

时间:2013-10-02 18:52:44

标签: regex

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

3 个答案:

答案 0 :(得分:1)

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

此正则表达式匹配

  • 女士。 PPHHIILLIIPPAA。
  • 先生。 LEE。
  • GRAND POOBAH。
  • XXXX YYYY ZZZZ。

Regular expression visualization

Debuggex Demo

答案 1 :(得分:1)

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

(?:M(?:rs?|s)|The)\.?\s+[A-Z ]+\.?

答案 2 :(得分:0)

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

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

如果你需要\ b

,我不是