2017-10-11 63 views
2

我需要一个模式来删除部分字符串,如“字母+空白+字母+空格...”直到第一个点。例如,在字符串中正则表达式可以捕获字符串的一部分,如“字母+空格+字母+空格...”

D o c t o r。我会给你一个处方。

模式应该匹配“dØ(C T)Ø河” 现在我有一个模式([A-Za-z]\s?)+\.但它更多的子串,我需要相匹配。任何想法如何纠正它?非常感谢。

+0

你能详细说明它不匹配什么吗? – Samantha

+0

你真的需要匹配任何空格或只是一个空格吗? – CAustin

回答

2

如果在每个字母之前需要字边界,则字母之间需要空格。现在,连续字母可以匹配,因为空白模式是可选的(发生1次或0次)。

所以,你可以只使用

(\b[A-Za-z]\s?)+\. 

this regex demo

,或者使用

\b[A-Za-z](?:\s[A-Za-z])+\. 

regex demo。在这里,

  • \b - 信
  • (?:\s[A-Za-z])+ - - 1个或多个(注意,如果你也想匹配1个字母+点序列,替换+与领先的字边界
  • [A-Za-z]匹配的
    • \s连续*量词)出现 - 一个空白
    • [A-Za-z] - 一个字母
  • \. - 一个点。
+1

非常感谢!它完美的作品 – 12bogdan03

相关问题