まあを知っている悪いです
、これは私が何をしようとしているある場合
入力可能性1:SOMETHING BLAH always same words here (here comes date/time text, called group 1) [group 2 text]: (group 3 text) END
入力2:SOMETHING BLAH [group 2 text] always same words here (here comes date/time text, called group 1): (group 3 text) END
グループ2は、Pythonおよびモジュールの再を使用して、前または今
後に現れることができ、eitheを一致させることも可能ですこれらの入力の1つだけ正規表現を使用して?
例は(もちろん、このようなものは、同じ名前のグループが含まれているとことはできません):
"SOMETHING BLAH (always same words here \((?P<group1>.{1,40})\) \[(?P<group2>.*?)\]: \((?P<group3>.*?)\)|\[(?P<group2>.*?)\] always same words here \((?P<group1>.{1,40})\): (group 3 text)) END", re.DOTALL
それは、オプションのグループを使用しているものイム
場合は、それを固定検討します。これはちょうど正規表現のグループ名です。実際の質問に実際に反映されるようにタイトルを変更することを検討してください。 –
なぜそれは '明らかに不可能'ですか?それが本当ならば、それは本当にばかげた制限だろう。あなたはいつもPerlでこのようなことをしています。実際、あなたのパターンは正確な構文でPerlでうまくコンパイルされます。 PythonのMatthew Barnettの 'regex'モジュールを見ましたか?私はここにあなたを助けるブランチリセット操作があると信じています。 – tchrist
はPythonでは使用できませんでした。他のいくつかの言語は、はい、.NETのように聞いたことがあります。恐ろしいことが現時点では、このようなことがPython 3.0で可能であるかどうかわからない – Intelligence404