3
我嘗試在字符串中查找符合條件的所有子字符串。查找包含至少一個組的所有子字符串
比方說,我們已經有了字符串:
s = 'some text 1a 2a 3 xx sometext 1b yyy some text 2b.'
我需要應用的搜索模式{(一個(組詞),兩個(另一個組詞),三(另一組詞)) ,詞}。前三個職位是可選的,但至少應該有一個職位。如果是這樣,我需要一個字。 輸出應爲:
2a 1a 3 xx
1b yyy
2b
我寫此表達式:
find_it = re.compile(r"((?P<one>\b1a\s|\b1b\s)|" +
r"(?P<two>\b2a\s|\b2b\s)|" +
r"(?P<three>\b3\s|\b3b\s))+" +
r"(?P<word>\w+)?")
每組包含設置或不同的單詞(未1A,1B)。我不能將它們混合成一個組。如果組爲空,它應該是None
。顯然結果是錯誤的。
find_it.findall(s)
> 2a 1a 2a 3 xx
> 1b 1b yyy
我很感謝您的幫助!
對不起!可能我的問題被錯誤地定義,但1a,1b,2a,3等 - 是完全不同的單詞。我只是將它們組合在一起以簡化視圖。 –
@KatrinaMalakhova檢出編輯! – Kasramvd
它的工作原理)。但通過這種方式,所有團體都是平等的。如果我需要區分它們呢? –