作者rclrn (Aethanyc)
看板Python
標題Re: [問題] 請問regular expression 可以找出重疊ꨠ…
時間Thu Jun 1 20:51:24 2006
※ 引述《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
1F:推 alltoher:太感謝你了 !!^^ 06/01 21:14