Maison  >  Article  >  Java  >  Comment extraire du texte après une correspondance Regex à l'aide d'une assertion Lookbehind positive ?

Comment extraire du texte après une correspondance Regex à l'aide d'une assertion Lookbehind positive ?

DDD
DDDoriginal
2024-11-08 21:02:01391parcourir

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

Récupération de texte d'après-match à l'aide d'expressions régulières

Lorsque vous travaillez avec des expressions régulières, il est souvent nécessaire d'extraire des composants spécifiques d'une correspondance. Dans certains cas, vous souhaiterez peut-être capturer uniquement le texte qui suit après l'identification d'un modèle spécifique.

Question :

Un utilisateur demande des conseils pour obtenir le texte qui apparaît après une correspondance d'expression régulière, à l'exclusion de la correspondance chaîne.

Solution :

Utiliser une assertion positive Lookbehind

La solution à ce défi réside dans l'emploi d'une assertion positive Lookbehind affirmation (?<=). Cette assertion garantit qu'une correspondance est effectuée à une position immédiatement après une sous-chaîne spécifiée (phrase dans ce cas).

En incorporant cette assertion lookbehind dans votre expression régulière, vous pouvez isoler efficacement le texte souhaité. L'expression régulière modifiée suivante accomplit cela :

(?<=sentence).*

Explication :

  • (?<=phrase) : Affirmation d'apparence positive qui correspond à une position juste après "phrase" sans l'inclure dans le match.
  • .* : Correspond à tout caractère ou séquence de caractères suivant l'assertion lookbehind.

Exemple :

Étant donné la chaîne d'entrée :

"Some lame sentence that is awesome"

Et l'expression régulière modifiée ci-dessus, le résultat de la correspondance serait :

"that is awesome"

Cela démontre l'extraction réussie du texte suivant la « phrase », à l'exclusion de la « phrase » elle-même.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn