English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regexLa classe de modèle du logiciel est une représentation compilée des expressions régulières.
Ce type decompile()La méthode accepte une valeur de chaîne représentant l'expression régulière et renvoiePatternL'objet, voici la signature de cette méthode.
static Pattern compile(String regex)
Une autre version de cette méthode accepte les valeurs entières représentant les drapeaux, voici la signature de la méthode compile avec deux paramètres.
static Pattern compile(String regex, int flags)
LeModèleLa classe fournit divers domaines, chaque représentant un drapeau
Numéro | Colonne et description |
---|---|
1 | CANON_EQ Seulement lorsque les deux normes de caractères sont égalesSeulementCorrespond. |
2 | CASE_INSENSITIVE Correspond aux caractères, sans distinction de casse. |
3 | Commentaires Permet les espaces et les commentaires de modèle. |
4 | DOTALL Active le mode dotall. Où le métacaractère '.' correspond à tous les caractères, y compris les caractères de fin de ligne. |
5 | LITERAL Active l'analyse littérale du modèle. C'est-à-dire que tous les caractères de métacaractères et les séquences d'échappement de l'entrée sont considérés comme des caractères littéraux. |
6 | MULTILINE Active le mode lignes multiples, c'est-à-dire considère l'ensemble de l'entrée comme une seule ligne. |
7 | UNICODE_CASE Active laReconnaîtreFonction de correspondance de casse Unicode, c'est-à-dire utilisée avec CASE_INSENSITIVE. Si les caractères Unicode sont recherchés dans l'expression régulière, les deux types de caractères Unicode correspondront. |
8 | UNICODE_CHARACTER_CLASS Active la version Unicode des classes de caractères prédéfinies et des classes de caractères POSIX. |
9 | UNIX_LINES Ce drapeau active le mode ligne Unix. |
Ce type deflags()La méthode renvoie les drapeaux utilisés dans le modèle actuel.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { public static void main(String[] args) {}} Scanner sc = new Scanner(System.in); System.out.println("Entrez votre nom : "); String name = sc.nextLine(); System.out.println("Entrez votre date de naissance : "); String dob = sc.nextLine(); //L'expression régulière commence par MM-DD-Format YYY accepte la date String regex = "^(1[0-2]|0[1-9)/ # Pour le Mois\n" + "(3[01]|[12][0-9]|0[1-9)/ # Pour la Date\n" + "[0-9]4$ # Pour l'Année"; //Créer un objet Pattern Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //Créer un objet Matcher Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("La date de naissance donnée est valide"); } else { System.out.println("La date de naissance donnée n'est pas valide"); } System.out.println("Drapeau utilisé : ");+ pattern.flags()); } }
Résultat de la sortie
Entrez votre nom : Krishna Entrez votre date de naissance : 09/26/1989 La date de naissance donnée est valide Drapeau utilisé : 4