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

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

Post 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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post