2017-02-04 9 views
-2

私はいくつかのパターンにマッチさせようとしています。私が一致するようにしようとしているオプションの複数のグループを持つPython正規表現

パターンは、これらは以下のとおりです。

David C. Drummond 
Sundar Pichai 
Julie Spellman Sweet 

は、私はすべての3つのグループにマッチする正規表現式を必要とします。

何私がこれまで試したことは次のとおりです。スペースの後の言葉(\s\b)と貪欲と非貪欲記号付き(?)との間のスペースのために多くのバリエーションを持つr"^(\w*)\W?(\w*|\w\.)\W?(\w*)"

+1

あなたのパターンは、これらのすべてに一致する必要があります参照してください。実際には、パターンは最初の文字列(つまりすべての文字列)に一致するパターンはすべてオプションであるため、パターンは一致します。 – melpomene

+0

しかし、それはそれらのすべてと一致しません。 – bjj

+0

投稿する[mcve]。 – melpomene

答えて

0

表示された文字列には、^(\w+)\s+(?:(\w\.|\w+)\s+)?(\w+)$を使用して一致させることができ、3つの異なるグループに含まれる最初、中、そして最後の名前を持つことができます。

https://regex101.com/r/O8NniM/1

+0

それは動作しますが、メルポメントは私の正規表現がうまくいくと言いましたが、それはしません。あなたの作品がなぜ機能するのかを明確にすることができますか? – bjj

関連する問題