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