2017-10-11 36 views
2

「文字+空白+文字+空白...」のような文字列の一部を最初のドットまで削除するパターンが必要です。たとえば、文字列の場合「文字+空白+文字+空白...」のような文字列の一部を取り込む正規表現

D o c t o r。私はあなたに処方箋を差し上げます。

パターンは、 "D O C T O R。" は、今私はパターン([A-Za-z]\s?)+\.を持っている。しかし、それは私が必要とするより多くの部分文字列に一致すると一致する必要があります。任意のアイデアを修正する方法は?どうもありがとう。

+0

あなたはそれが一致しないように一致するものを詳しく説明できますか? – Samantha

+0

あなたは本当に空白または空白にマッチする必要がありますか? – CAustin

答えて

2

各文字の前に単語境界が必要な場合は、文字の間に空白が必要です。現在、空白のパターンは任意であるため、連続する文字をマッチさせることができます(1回または0回のオカレンス)。

だから、あなただけ

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

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

を使用し、this regex demo

か、あるいはを参照してください使用することregex demoを参照してください。あなたも1文字+ドット列を一致させたい場合に+を置き換える、1以上(NOTE - ここでは、

  • \bは - 手紙
  • (?:\s[A-Za-z])+ - 大手ワード境界
  • [A-Za-z]と一致します
    • \s*数量詞)連続発生 - 空白
    • [A-Za-z] - 文字
  • \. - ドット。
+1

ありがとう!それは完全に動作します – 12bogdan03

関連する問題