最近在複習re模組,突然想到這個問題,就是如果匹配到的字串後一半剛好是下一個匹配字串的前一半,怎麼實現?比方說,現在有個字串是aAFDdADDdDFDsDFS
,想匹配週邊是三個大寫字母的小寫字母d,d和s,我的程式碼是這樣的:
import re
rawstring = 'aAFDdADDdDFDsDFS'
reg = r'[^A-Z]*[A-Z]{3}([a-z]+)[A-Z]{3}[^A-Z]*'
pattern = re.compile(reg)
r = pattern.finditer(rawstring)
for s in r:
print(s.group())
得到的結果如下:
aAFDdADDd
DFDsDFS
漏了第二個d,如果想把第二個d也配對到,該怎麼做?謝謝!
雷雷r'(?