Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich reguläre Ausdrücke verwenden, um ganze Wörter in einer Zeichenfolge abzugleichen?
Ein ganzes Wort in einer Zeichenfolge mit dynamischem Regex abgleichen
Die Aufgabe, ein ganzes Wort in einer Zeichenfolge abzugleichen, kann mit Regex gelöst werden. Allerdings kann das Erstellen mehrerer Übereinstimmungsausdrücke für verschiedene Wortpositionen mühsam sein. Dieser Artikel befasst sich mit einer prägnanten Lösung mithilfe von Wortgrenzen.
Verwendung von Wortgrenzen
Wortgrenzen, gekennzeichnet mit b, geben den Anfang oder das Ende eines Wortes an. Indem wir b in das Regex-Muster integrieren, können wir Wörter finden, die von Nicht-Wort-Zeichen umgeben sind. Der folgende Code demonstriert dies:
match_string = r'\b' + word + r'\b' # Or Python 3.7+ only versions: match_string = r'\b{}\b'.format(word) match_string = rf'\b{word}\b'
Dieses Regex-Muster sucht nach „Wort“ als ganzes Wort, unabhängig von seiner Position in der Zeichenfolge.
Übereinstimmung mit mehreren Wörtern
Wenn mehrere Wörter als ganze Wörter abgeglichen werden müssen, können wir eine Liste von Wörtern verwenden und ein Muster erstellen wie Dies:
match_string = r'\b(?:{})\b'.format('|'.join(words)) # Or Python 3.7+ only version: match_string = rf'\b(?:{"|".join(words)})\b'
In diesem Muster werden die Wörter in eine nicht erfassende Gruppe eingeschlossen, um sicherzustellen, dass nur ganze Wörter gefunden werden.
Überlegungen zu Grenzen
Wenn die abzugleichenden „Wörter“ Sonderzeichen enthalten, müssen diese mit Escapezeichen versehen werden, bevor sie im Regex-Muster verwendet werden können re.escape().
Für Wörter, die mit Sonderzeichen beginnen oder enden, sollten eindeutige Wortgrenzen (?
Zusammenfassend lässt sich sagen, dass die Verwendung von Wortgrenzen eine praktische Lösung darstellt Möglichkeit, ganze Wörter in einer Zeichenfolge zuzuordnen, wodurch die Notwendigkeit mehrerer Übereinstimmungsausdrücke basierend auf der Wortposition entfällt.
Das obige ist der detaillierte Inhalt vonWie kann ich reguläre Ausdrücke verwenden, um ganze Wörter in einer Zeichenfolge abzugleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!