Regex stimmt mit Ziffer überein: Die wahre Natur von „d“ aufdecken
In Pythons Regex-Welt ist die rätselhafte Zeichenklasse „d“ aufgetaucht Fragen zum genauen Matching-Verhalten. Lassen Sie uns in seine kryptische Natur eintauchen.
In der Zeichenfolge „123“ erfasst „d“ sowohl „1“ als auch „3“, schließt jedoch seltsamerweise „2“ aus. Dieses eigenartige Verhalten ist auf eine subtile Nuance in der Definition einer „Ziffer“ zurückzuführen.
Pythons „d“ stimmt nicht ausschließlich mit Ziffern aus dem westlichen Zahlensystem überein (d. h. „0-9“). Es umfasst außerdem einen erweiterten Bereich von Unicode-Zeichenklassen innerhalb der Kategorie „Digit“ oder „Nd“. Dazu gehören beispielsweise ostarabische Ziffern wie „٠“ und „١“.
Daher ist es beim Abgleichen von Ziffern in Python-Regex-Ausdrücken wichtig zu erkennen, dass „d“ ein breiteres Netz als [0 -9]. Dieses differenzierte Verständnis lüftet das Geheimnis, warum in einer Sequenz wie „12345“ nur Ziffern ungerader Reihenfolge (d. h. „1“, „3“ und „5“) mit „d“-Übereinstimmungen übereinstimmen, während Ziffern gerader Reihenfolge übrig bleiben („2“ und „4“) unberührt.
Das obige ist der detaillierte Inhalt vonWarum stimmt der Python-Regex „\d' nur mit ungeraden Ziffern in „12345' überein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!