首頁  >  問答  >  主體

python - 正規表示式中,如果符合的字串後一半剛好是下一個符合字串的前一半,怎麼實作?

最近在複習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也配對到,該怎麼做?謝謝!

给我你的怀抱给我你的怀抱2686 天前919

全部回覆(1)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-06-12 09:29:43

    r'(?<=[A-Z]{3})([a-z])(?=[A-Z]{3})'

    雷雷

    回覆
    0
  • 取消回覆