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

相關問題