ein Statement vorweg: Ich bin blutiger Anfänger bezüglich Python und programmieren im allgemeinen. Ebenfalls beim RegExen (heute erster Kontakt...).
Wer sich durch "Newbie"-Fragen gestört fühlt, sollte diesen Thread einfach ignorieren.
Jetzt zum Thema: Um Python kennen zu lernen, habe ich mich an die Pythonchallenge gewagt. In Level 3 geht es um Reguläre Ausdrücke. Mittlerweile habe ich das Rätsel gelöst, ich dachte es wären "schärfere" Bedingungen... Bei meinem ersten Ansatz (mit zu scharfen Bedingungen...) ist mir ein Problem untergekommen, welches ich nicht ganz verstehe...
Angenommen wir haben diesen string:
Code: Alles auswählen
teststring = 'jhskjfhAAAAbBBBBjkhsCCCaCCCsDDDsD'
Code: Alles auswählen
re.compile('[^\2](([A-Z])\2{2})[a-z](?=\1[^\2])')
Code: Alles auswählen
re.compile('(?<=[^\2](([A-Z])\2{2}))[a-z](?=\1[^\2])')
Liegt das fehlverhalten evt. daran, dass ich die Assertion über einen Ausdruck vornehme, der Zugriff auf eigene Subsegmente ( \2 ) enthält?
Falls ja, wie kann ich dieses Verhalten umgehen?
Über Hinweise würde ich mich sehr freuen,
viele Grüße!