[英]Python regex: Matching pattern repeatedly within a sentence
我有一個形式的表達
some_text_0 pattern_instance_1 some_text_1 pattern_instance_2 some_text_2 pattern_instance_3 some_text_3 ..
其中每個pattern_instance
是PATTERN
一個實例,
我想將其提取為[pattern_instance_1, some_text_1], [pattern_instance_2, some_text_2], ...
(刪除第一個some_text_0
)。
做這個的最好方式是什么 ?
作為一個更具體的案例,我試圖匹配類似的東西
Things I need to buy: 1 banana two apples three pears zero kiwis
進入
[1, banana]
, [two, apples]
,..
我已經有了匹配數字的正則表達式,但它相當復雜。 我發現的少數解決方案似乎涉及否定此正則表達式以對某些文本進行匹配,但我想知道是否還有另一種方法,因為我不確定如何否定我的正則表達式。 我也嘗試玩re.find_all()
但無法讓它工作。
這就是我將如何處理它...
re.finditer會給你一個 MatchObjects 列表
每個 MatchObject 都有start函數,它為您提供模式的第一個索引。 end() 函數是類比的。
然后,剩下的唯一事情就是構建元組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.