4
是否有python或簡寫的方式來從字符串及其索引中獲取所有模式出現?我可以寫一個方法來做到這一點,我只是想知道是否有一個超短的單線或東西:)如何在Python中查找所有出現的模式及其索引
是否有python或簡寫的方式來從字符串及其索引中獲取所有模式出現?我可以寫一個方法來做到這一點,我只是想知道是否有一個超短的單線或東西:)如何在Python中查找所有出現的模式及其索引
python re
module to rescue。
>>> import re
>>> [x.start() for x in re.finditer('foo', 'foo foo foo foo')]
[0, 4, 8, 12]
re.finditer
返回generator,這是什麼意思的是,而不是使用list-comprehensions,你可以在使用的for-loop
這將是更多的內存效率。
您可以擴展它以獲得給定文本中的模式範圍。即開始和結束索引。
>>> [x.span() for x in re.finditer('foo', 'foo foo foo foo')]
[(0, 3), (4, 7), (8, 11), (12, 15)]
是不是Python的真棒:)無法從報價XKCD,downvotes或沒有downvotes管不住自己......
謝謝,這是真棒:) – 2013-03-24 15:07:58
你將如何獲得實際模式? – goldisfine 2013-11-25 01:52:11