English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Méthode flags() de modèle dans Java et exemple

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éroColonne et description
1CANON_EQ
Seulement lorsque les deux normes de caractères sont égalesSeulementCorrespond.
2CASE_INSENSITIVE
Correspond aux caractères, sans distinction de casse.
3Commentaires
Permet les espaces et les commentaires de modèle.
4DOTALL
Active le mode dotall. Où le métacaractère '.' correspond à tous les caractères, y compris les caractères de fin de ligne.
5LITERAL
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.
6MULTILINE
Active le mode lignes multiples, c'est-à-dire considère l'ensemble de l'entrée comme une seule ligne.
7UNICODE_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.
8UNICODE_CHARACTER_CLASS
Active la version Unicode des classes de caractères prédéfinies et des classes de caractères POSIX.
9UNIX_LINES
Ce drapeau active le mode ligne Unix.

Ce type deflags()La méthode renvoie les drapeaux utilisés dans le modèle actuel.

Exemple

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