Page 1 of 1

Pythons regulärer Ausdruck: Nicht gierig optionale Gruppe, gefolgt von einer anderen optionalen Gruppe

Posted: 07 Feb 2025, 09:21
by Anonymous
Ich verwende den folgenden regulären Ausdruck in Python:

Code: Select all

^( .+?)?( Com:.*)?$
[/b]
(Dieser Regex mag dumm aussehen, aber es ist tatsächlich Teil einer größeren komplexeren Zeichenfolge. Ich habe gerade den problematischen Teil extrahiert.) und ich haben diese 2 verschiedenen Zeichenfolgen: < /p>

[*]

Code: Select all

 abc Com: 123
[/b]
[*]

Code: Select all

 Com: 123
[/b]

Mit der ersten Zeichenfolge übereinstimmt Group 1 nur "ABC" und Gruppe 2 übereinstimmt "com: 123" . Dies ist, was ich erwarte, da Gruppe 1 nicht gierig ist. ". Aber nein, Gruppe 1 entspricht dem gesamten String und der Gruppe 2 Nichts. Ich verstehe es nicht. < /P>
Was ist hier los? Könnte jemand erklären?