5
在python正則表達式中,命名組和未命名組都是用'('和')'定義的。這導致了一個奇怪的行爲。正則表達式python,正則表達式,命名組和「邏輯或」運算符
"(?P<a>1)=(?P<b>2)"
用於與文本「1 = 2」會發現命名的基團「A」與值「1」,並命名爲「B」組具有值「2」。但是,如果我想使用「邏輯或」操作符和連接多個規則,下面的正則表達式:
"((?P<a>1)=(?P<b>2))|(?P<c>3)"
用相同的文字所用的「1 = 2」會發現一個無名組與值「1 = 2」 。我明白,正則表達式引擎會將包含組「a」和「b」的「(」和「)」視爲未命名的組,並報告它已找到。但我不想要一個未命名的羣組進行報告,我只是想使用「|」以便將多個正則表達式「粘合」在一起。沒有創建任何寄生未命名的組。這是在python中這樣做的一種方式嗎?
非常感謝,這就像一個魅力^ _ ^ – grigoryvp 2009-05-24 11:37:17