English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La classe java.util.regex.Matcher représente le moteur d'exécution des opérations de correspondance variées. Cette classe n'a pas de constructeur, et peut être utiliséematches()
La méthode de la classe java.util.regex.Pattern créer/Obtenir l'objet de cette classe.
Cette classe (Matcher)group()La méthode renvoie la sous-séquence d'entrée correspondante lors du dernier match.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupExample { public static void main(String[] args) { String str = "<p>This<b>is</b>un<b>example</b>HTML<b>script</b>" + "where<b>every</b>alternative<b>word</b>est<b>bold</b>" + "It<i>also</i>contient<i>italic</i>words</p>"; //L'expression régulière correspond à la contenu des balises en gras String regex = "<b>(\\S+);/b>|<i>(\\S+);/i>"; //Création d'un objet modèle Pattern pattern = Pattern.compile(regex); //Correspondance de la chaîne avec le modèle compilé Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); } } }
Résultat de la sortie
<b>est</b> <b>example</b> <b>script</b> <b>every</b> <b>word</b> <b>bold</b> <i>also</i> <i>italic</i>
Une autre variation de cette méthode accepte une variable entière représentant le groupe, où le groupe capturé1(de gauche à droite) l'indice de début.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupTest { public static void main(String[] args) { String regex = "(.*);+);*); String input = "This is a sample Text", 1234, avec des nombres entre les guillemets."; //Création d'un objet modèle Pattern pattern = Pattern.compile(regex); //Correspondance de la chaîne avec le modèle compilé Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("match : ",+matcher.group(0)); System.out.println("Match du premier groupe : ",+matcher.group(1)) ; System.out.println("Match du deuxième groupe : ",+matcher.group(2)) ; System.out.println("Match du troisième groupe : ",+matcher.group(3)) ; } } }
Résultat de la sortie
match : Ce texte est un exemple , 1234, avec des nombres entre les guillemets. Match du premier groupe : Ce texte est un exemple , 123 Match du deuxième groupe : 4 Match du troisième groupe : , avec des nombres entre les guillemets.