Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mithilfe der Wortgrenzen von Python zuverlässig Zeichenfolgen mit Sonderzeichen abgleichen?

Wie kann ich mithilfe der Wortgrenzen von Python zuverlässig Zeichenfolgen mit Sonderzeichen abgleichen?

Linda Hamilton
Freigeben: 2024-12-07 14:17:12
Original
945 Leute haben es durchsucht

How Can I Reliably Match Strings with Special Characters Using Python's Word Boundaries?

Wortgrenzen und Sonderzeichen in Python

Bei Verwendung des b-Musters für den Wortgrenzenabgleich in regulären Python-Ausdrücken können unerwartete Ergebnisse auftreten, wenn Das Suchmuster enthält Sonderzeichen wie Klammern oder Klammern.

Konkret stimmt b nur mit Wortgrenzen überein, bei denen das nächste Zeichen ein Wortzeichen ist (alphanumerisch oder Unterstrich). Das bedeutet, dass bSortesindex[persons]{Sortes} beispielsweise nicht mit dem Testtext Sortesindex[persons]{Sortes} übereinstimmt, da nach Sortes ein Sonderzeichen (}index) steht.

Um sicherzustellen, dass a Um die richtige Übereinstimmung zu finden, ziehen Sie diese Lösungen in Betracht:

  • Adaptive Word Grenzen:

    • Verwenden Sie adaptive Wortgrenzen, die am Anfang oder Ende einer Zeichenfolge oder zwischen Zeichen mit unterschiedlichem Wortzeichenstatus übereinstimmen:

      re.search(r'(?:(?!\w)|\b(?=\w)){}(?:(?<=\w)\b|(?<!\w))'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
      Nach dem Login kopieren
  • Eindeutiges Wort Grenzen:

    • Verwenden Sie eindeutige Wortgrenzen, um auf beiden Seiten der Übereinstimmung strikt keine Wortzeichen vorzuschreiben:

      re.search(r'(?<!\w){}(?!\w)'.format(re.escape('Sortes\index[persons]{Sortes}')), 'test Sortes\index[persons]{Sortes} test')
      Nach dem Login kopieren
  • Behandeln Sie Nichtwörter explizit Grenzen:

    • Behandeln Sie Nicht-Wortgrenzen explizit mit W oder $, wie zum Beispiel:

      re.search(r'\b' + re.escape('Sortes\index[persons]{Sortes}') + '(\W|$)', 'test Sortes\index[persons]{Sortes} test')
      Nach dem Login kopieren

Erwägen Sie außerdem die Verwendung negativer Lookarounds für mehr Flexibilität bei der Definition von Wortgrenzen. Beispielsweise schlägt (?

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der Wortgrenzen von Python zuverlässig Zeichenfolgen mit Sonderzeichen abgleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage