python - Wenn in regulären Ausdrücken die zweite Hälfte der übereinstimmenden Zeichenfolge zufällig die erste Hälfte der nächsten übereinstimmenden Zeichenfolge ist, wie kann dies implementiert werden?
给我你的怀抱
给我你的怀抱 2017-06-12 09:27:43
0
1
977

Ich habe kürzlich das Re-Modul überprüft und plötzlich über diese Frage nachgedacht: Wenn die zweite Hälfte der übereinstimmenden Zeichenfolge zufällig die erste Hälfte der nächsten übereinstimmenden Zeichenfolge ist, wie kann dies erreicht werden? Zum Beispiel gibt es eine Zeichenfolge aAFDdADDdDFDsDFS, und ich möchte die Kleinbuchstaben d, d und s, umgeben von drei Großbuchstaben, zuordnen. Mein Code sieht so aus:

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())

Die erzielten Ergebnisse sind wie folgt:

aAFDdADDd
DFDsDFS

Das zweite d fehlt. Was soll ich tun, wenn ich auch das zweite d abgleichen möchte? Danke!

给我你的怀抱
给我你的怀抱

Antworte allen(1)
给我你的怀抱

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

>>> import re
>>> rawstring = 'aAFDdADDdDFDsDFS'
>>> reg = r'(?<=[A-Z]{3})([a-z])(?=[A-Z]{3})'
>>> pattern = re.compile(reg)
>>> pattern.findall(rawstring)
['d', 'd', 's']
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage