2012-04-27 6 views
1

このregexがpython 2.7(re.compile)でコンパイルされない理由はわかりません。 re.debugフラグはなぜ私に表示されません。C#regexをPythonに変換する

\b(?<case>(review|case|bug[zs]?(\s|)*(id)?:?)s?(\s|)*([#:; ]|)+)((([ ,:;#]|and)*)(?<bugid>\d+))+ 

答えて

5

Pythonで、名前のキャプチャは(?P<name>)、ない(?<name>)で行われているため。試してみてください:

\b(?P<case>(review|case|bug[zs]?(\s|)*(id)?:?)s?(\s|)*([#:; ]|)+)((([ ,:;#]|and)*)(?P<bugid>\d+))+ 

生の文字列も必ず使用してください。 r'regex'(これはC#の@"regex"構文と比較されます)。

(\s|)は冗長であり、キャプチャが重要でない場合は、(\s)または単に\sに置き換えることができます。同様に、([#:; ]|)は、安全に([#:; ])に置き換えることができます。

関連する問題