我需要一个正则表达式,即句点之前的字符(如果它在那里)是' 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]*
不知道从哪里开始。
答案 0 :(得分:1)
匹配不一个点,或一个由适当的东西包围的点:
^([^.]|(?<=[a-zA-Z])\.(?= ))*$
请参阅live demo。
打破它:
^
开始[^.]
非点(?<=[a-zA-Z])
以前的字母是一封信\.
点(?= )
下一个字符是空格$
结束还有一个替代(a|b)*
表示“任意数量的a
或b
”。