Lookbehind-Assertionen variabler Länge in regulären Ausdrücken
Reguläre Ausdrücke sind leistungsstarke Mustervergleichswerkzeuge, können jedoch bei Variablen eingeschränkt sein -lange Lookbehind-Behauptungen. Mit einer Lookbehind-Behauptung können Sie eine Zeichenfolge basierend auf einer Bedingung abgleichen, die der Übereinstimmung vorausgeht. Herkömmliche reguläre Ausdrücke unterstützen jedoch nur Lookbehind-Assertionen mit fester Länge.
Alternativen zu Lookbehind-Assertionen mit variabler Länge
Wenn Sie Lookbehind-Assertionen mit variabler Länge ausführen müssen, finden Sie hier Es gibt mehrere Alternativen:
Ersetzung durch \K
Beim Ersetzen von Übereinstimmungen können Sie \K verwenden, um bestimmte Zeichen von der Ersetzung auszuschließen. Beispielsweise würde Folgendes nur den „bar“-Teil der Zeichenfolge ersetzen:
s/(foo.*)\Kbar/new_text/
Negative Lookbehinds mit \K
Negative Lookbehinds können mit dem Konstrukt ^(?:(?!STRING).)* erreicht werden. Dadurch wird effektiv die gesamte Zeichenfolge abgeglichen, ohne dass eine Teilzeichenfolge gefunden wird, die die angegebene Zeichenfolge enthält.
Erweiterte Implementierungen regulärer Ausdrücke
Einige Sprachen verfügen über erweiterte Implementierungen regulärer Ausdrücke, die variable Längen unterstützen Lookbehind-Behauptungen:
Allerdings , ist es wichtig zu beachten, dass nicht alle modernen Implementierungen regulärer Ausdrücke Lookbehind-Assertionen variabler Länge unterstützen. Es ist immer ratsam, die Dokumentation für Ihre spezifische Sprache und Implementierung zu konsultieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3