Abrufen von Post-Match-Text mit regulären Ausdrücken
Bei der Arbeit mit regulären Ausdrücken ist es oft notwendig, bestimmte Komponenten aus einem Match zu extrahieren. In einigen Fällen möchten Sie möglicherweise nur den Text erfassen, der folgt, nachdem ein bestimmtes Muster identifiziert wurde.
Frage:
Ein Benutzer sucht nach Anleitung, um den Text zu erhalten, der folgt erscheint nach einer Regex-Übereinstimmung, mit Ausnahme der übereinstimmenden Zeichenfolge.
Lösung:
Verwenden einer positiven Lookbehind-Behauptung
Die Lösung Die Bewältigung dieser Herausforderung liegt in der Verwendung einer positiven Lookbehind-Behauptung (?<=). Diese Behauptung stellt sicher, dass eine Übereinstimmung an einer Position unmittelbar nach einem angegebenen Teilstring (in diesem Fall einem Satz) erfolgt.
Durch die Einbindung dieser Lookbehind-Behauptung in Ihren regulären Ausdruck können Sie den gewünschten Text effektiv isolieren. Der folgende modifizierte reguläre Ausdruck erreicht dies:
(?<=sentence).*
Erklärung:
Beispiel:
Angesichts der Eingabezeichenfolge:
"Some lame sentence that is awesome"
Und der oben geänderten Regex wäre das Übereinstimmungsergebnis:
"that is awesome"
Dies zeigt die erfolgreiche Extraktion des auf „Satz“ folgenden Textes, mit Ausnahme von „Satz“ selbst.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Text nach einer Regex-Übereinstimmung mithilfe einer positiven Lookbehind-Assertion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!