Re: [問題] 請問regular expression 可以找出重疊ꨠ…
※ 引述《alltoher (any1's any is alltoher)》之銘言:
: 請問
: regular expression 可以找出重疊的pattern嗎??
: 比如說
: import re
: sentence = 'Lawrence and Peter are my best friend'
: t = re.findall('\w{2,2}',sentence)
: print t
: ('\w'指文字, 要找出所有兩個相鄰的文字)
: 這樣只能找到['La', 'wr', 'en', 'ce', 'an',
: 'Pe', 'te', 'ar', 'my', 'be', 'st', 'fr', 'ie', 'nd']
: 但如果我希望能夠也match到重疊的部分就是所有符合的
: 像是 'La','aw','wr','re','en'....
: 想請教大家
: 請問有什麼方法可以做到呢??
: 謝謝各位的回答<(_ _)>
官方文件寫:
findall(pattern, string)
Return a list of all non-overlapping matches in the string.
所以要找重疊的patter,只能自己寫了,例:
import re
s='Lawrence and Peter are my best friend'
m=[]
for i in range(len(s)):
x = re.match('\w{2}', s[i:])
if hasattr(x, 'group'):
m.append(x.group())
print m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.141.230
推
06/01 21:14, , 1F
06/01 21:14, 1F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章