2017-04-13 21 views
-1

工作,我有一個模式來搜索正則表達式是不是具有詳細標誌

pat = re.compile(r'([\#-]?)(?:(?!\1)[\#-])?b') 

,但如果我想用冗長的標誌寫這一點,那麼它停止工作。任何想法?

pat = re.compile(r'''(
        ([\#-]?) # comment 
        (?:(?!\1)[\#-])? # comment 
         b)''', re.VERBOSE) 

回答

1

在冗長的版本中,你有多餘的parens圍繞整個正則表達式。這改變了反向參考編號,在詳細版本中將\1更改爲\2應該起作用。