在句点之前验证字符的正则表达式是A-Z且仅在一个空格之后

时间:2016-10-20 13:52:07

标签: regex

我需要一个正则表达式,即句点之前的字符(如果它在那里)是' A'通过' Z'或者' a'通过' z',并且在唯一有效字符之后是空格(可能后跟更多字符)。因此,以下内容应匹配:

Mr. Smith
SMITH MR. (space here)
dr. Jones MD. (space here)
Guy Here
HERE GUY

我目前正在尝试使用以下正则表达式:

([a-zA-Z]*\.\s)[a-zA-Z]*

不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

匹配一个点,或一个由适当的东西包围的点:

^([^.]|(?<=[a-zA-Z])\.(?= ))*$

请参阅live demo

打破它:

  • ^开始
  • [^.]非点
  • (?<=[a-zA-Z])以前的字母是一封信
  • \.
  • (?= )下一个字符是空格
  • $结束

还有一个替代(a|b)*表示“任意数量的ab”。