English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La classe java.util.regex.Matcher représente le moteur d'exécution de diverses opérations de correspondance. Cette classe n'a pas de constructeur, elle peut être utiliséematches()
La méthode create de la classe java.util.regex.Pattern/Obtenir l'objet de cette classe.
Dans l'expression régulière, les constructions lookbehind et lookahead sont utilisées pour correspondre à des modèles spécifiques avant ou après d'autres modèles. Par exemple, si vous devez accepter5à12caractères de la chaîne, l'expression régulière est-
\\\\A(?=\\w{6,10}\\z)";
Par défaut, les limites de la zone de correspondance sont opaques pour les correspondances avant, après et aux limites, c'est-à-dire que ces structures ne peuvent pas correspondre au contenu du texte d'entrée en dehors de la zone.-
Cette classeLa méthodehasTransparentBounds()La méthode vérifie si le matcher actuel utilise des limites transparentes, si c'est le cas, retourne true, sinon retourne false.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HasTransparentBounds { public static void main(String[] args) { //L'expression régulière peut accepter6à10caractère String regex = \\\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 à 12 characters: "); String input = new Scanner(System.in).next(); //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Créer un objet Matcher Matcher matcher = pattern.matcher(input); //Définir la zone en tant que chaîne d'entrée matcher.region(0, 4); if(matcher.find()) { System.out.println("Correspondance trouvée"); } else { System.out.println("Correspondance non trouvée"); } boolean bool = matcher.hasTransparentBounds(); //Passer à la plage transparente if(bool) { System.out.println("Le matcher actuel utilise des limites transparentes"); } else { System.out.println("Le matcher actuel utilise des limites transparentes");-limites transparentes"); } } }
Résultat de la sortie
Entrer 5 à 12 caractères: sampletext Match not found Current matcher user non-bordure transparente
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HasTransparentBounds { public static void main(String[] args) { //L'expression régulière peut accepter6à10caractère String regex = \\\\A(?=\\w{6,10}\\z)"; System.out.println("Enter 5 à 12 characters: "); String input = new Scanner(System.in).next(); //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Créer un objet Matcher Matcher matcher = pattern.matcher(input); //Définir la zone en tant que chaîne d'entrée matcher.region(0, 4); matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Correspondance trouvée"); } else { System.out.println("Correspondance non trouvée"); } boolean bool = matcher.hasTransparentBounds(); //Passer à la plage transparente if(bool) { System.out.println("Le matcher actuel utilise des limites transparentes"); } else { System.out.println("Le matcher actuel utilise des limites transparentes");-limites transparentes"); } } }
Résultat de la sortie
Entrer 5 à 12 caractères: sampletext Correspondance trouvée Le matcher actuel utilise des limites transparentes