作者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