Maison >Java >javaDidacticiel >Comment extraire du texte après une correspondance Regex à l'aide d'une assertion Lookbehind positive ?
Récupération de texte après une correspondance Regex
Dans le domaine des expressions régulières (Regex), extraire des informations spécifiques à partir d'un texte peut être un défi. Une tâche courante consiste à récupérer le texte qui suit une correspondance particulière. Cet article vous guidera tout au long de ce processus, en développant votre besoin spécifique de rechercher du texte après la chaîne « phrase ».
Votre modèle Regex existant, « phrase(.*) », identifie avec succès la chaîne « phrase ». . Cependant, il capture également le texte correspondant lui-même, ce qui n'est pas le résultat souhaité.
Pour atteindre votre objectif, envisagez d'utiliser une affirmation positive d'apparence. Cette fonctionnalité vous permet de faire correspondre une certaine position dans une chaîne, sans que le texte correspondant fasse réellement partie du résultat. Dans votre cas, vous souhaitez faire correspondre une position juste après la « phrase » sans l'inclure.
Le modèle Regex modifié suivant accomplit cela :
(?<=sentence).*
Décomposition du modèle :
En Java, vous pouvez utiliser ce modèle pour récupérer le texte souhaité comme suit :
Pattern pattern = Pattern.compile("(?<=sentence).*"); Matcher matcher = pattern.matcher("some lame sentence that is awesome"); boolean found = false; while (matcher.find()) { System.out.println("I found the text: " + matcher.group().toString()); found = true; } if (!found) { System.out.println("I didn't find the text"); }
Ce code imprimera le texte "qui est génial" comme prévu, sans inclure la chaîne "phrase".
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!