入力文字列は「bla bla 1:term1 bla bla 2:term2 bla bla 3:term3 bla bla」です。この文字列ではすべての単語がオプションであり、表示されない場合があります。
term1、term2、term3 の名前付きグループを取得したいと考えています。私は成功なしでこの正規表現を試しました:
"(\b1:(?P<one>\w+))?.*?(\b2:(?P<two>\w+))?.*?(\b3:(?P<three>\w+))?"
? を削除すると実際に機能します 各外側のグループの後に、すべてのグループが文字列に存在します。しかし、私はそれらをオプションにすることに失敗しました。助けていただければ幸いです