Heim  >  Artikel  >  Java  >  Wie extrahiere ich Text nach einer Regex-Übereinstimmung mithilfe einer positiven Lookbehind-Assertion?

Wie extrahiere ich Text nach einer Regex-Übereinstimmung mithilfe einer positiven Lookbehind-Assertion?

DDD
DDDOriginal
2024-11-08 21:02:01446Durchsuche

How to Extract Text Following a Regex Match Using Positive Lookbehind Assertion?

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:

  • (?<=Satz): Positive Lookbehind-Behauptung das an einer Position direkt nach „Satz“ übereinstimmt, ohne es in die Übereinstimmung einzubeziehen.
  • .*: Entspricht jedem Zeichen oder jeder Zeichenfolge, die auf die Lookbehind-Behauptung folgt.

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!

Stellungnahme:
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