作者ibmibmibm (杀.人.鬼)
看板Python
标题Re: [问题] 请问regular expression 可以找出重叠ꨠ…
时间Fri Jun 2 04:40:53 2006
※ 引述《rclrn (Aethanyc)》之铭言:
: 官方文件写:
: 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
s = 'Lawrence and Peter are my best friend'
m = []
while s:
x = re.search('\w{2}', s)
if x:
s = s[x.start()+1:]
m.append(x.group())
else:
break
较快速的版本,原来的s会被破坏...
s = 'Lawrence and Peter are my best friend'
m = []
k = 0
while s:
x = re.search('\w{2}', s[k:])
if x:
k += x.start()+1
m.append(x.group())
else:
break
不破坏s的版本...
--
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▁ ▄-▄▄
██◤ ◥█◤ ██◣ ██◣ ██◤ ◢██ ▅▆◤ -▅▃
█ █ █ █ █▄▄ █ █ █ ◣ ◢ /▁ -
█ ◤ █ ██◢█ ▄▄▌█◢ █ █ ◤ ◥ ◤ ◢
█ ◢█◣ █ ◣ ██◤ █ ██◤ ◢▍
▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ ▊ Mozilla Firefox
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.155.183
1F:→ ibmibmibm:第100篇XD 06/02 04:41
2F:→ alltoher:太感谢了!!^^这边真是高手如云,而且大家都好热心 ^^ 06/02 11:11
3F:推 alltoher:谢谢你:D 06/02 11:20