1
我不確定爲什麼這個正則表達式不能在Python 2.7(re.compile)中編譯。 re.debug標誌甚至不會告訴我爲什麼。將C#正則表達式轉換爲python
\b(?<case>(review|case|bug[zs]?(\s|)*(id)?:?)s?(\s|)*([#:; ]|)+)((([ ,:;#]|and)*)(?<bugid>\d+))+
我不確定爲什麼這個正則表達式不能在Python 2.7(re.compile)中編譯。 re.debug標誌甚至不會告訴我爲什麼。將C#正則表達式轉換爲python
\b(?<case>(review|case|bug[zs]?(\s|)*(id)?:?)s?(\s|)*([#:; ]|)+)((([ ,:;#]|and)*)(?<bugid>\d+))+
因爲在Python,命名捕獲與(?P<name>)
,不(?<name>)
完成。嘗試:
\b(?P<case>(review|case|bug[zs]?(\s|)*(id)?:?)s?(\s|)*([#:; ]|)+)((([ ,:;#]|and)*)(?P<bugid>\d+))+
同時務必使用原始字符串,例如(與C#的@"regex"
語法進行比較)。
請注意,(\s|)
是多餘的,如果捕獲不重要,可以用(\s)
或簡單地\s
替換。同樣,([#:; ]|)
可以安全地替換爲([#:; ])
。