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

Metodo flags() di pattern in Java e esempio

java.regexLa classe modello del pacchetto java.regex è la rappresentazione compilata dell'espressione regolare.

Di questo tipocompile()Il metodo accetta valori di stringa che rappresentano l'espressione regolare e restituiscePatternOggetto, di seguito è riportata la firma di questo metodo.

static Pattern compile(String regex)

Un'altra variante di questo metodo accetta valori interi che rappresentano i segni. Di seguito è riportata la firma del metodo compile con due parametri.

static Pattern compile(String regex, int flags)

QuestoModelloLa classe fornisce vari campi, ciascuno rappresenta un segno

NumeroColonna e descrizione
1CANON_EQ
Solo quando due norme di caratteri sono ugualiQuandoCorrisponde.
2CASE_INSENSITIVE
Corrisponde ai caratteri, senza distinzione tra maiuscole e minuscole.
3Commenti
Permette spazi e commenti di modello.
4DOTALL
Abilita il modello dotall. Dove il carattere jolly “.” corrisponde a tutti i caratteri, inclusi i terminatori di riga.
5LITERAL
Abilita l'analisi testuale del modello. Questo significa che tutti i caratteri jolly e le sequenze di escape nell'input sono considerati caratteri testuali.
6MULTILINE
Abilita il modello multilinea, ovvero considera l'intera sequenza di input come una singola riga.
7UNICODE_CASE
Abilita laRiconoscereFusione di case Unicode, ovvero utilizzata insieme a CASE_INSENSITIVE. Se si cerca un carattere Unicode utilizzando un'espressione regolare, entrambi i casi dei caratteri Unicode corrisponderanno.
8UNICODE_CHARACTER_CLASS
Abilita la versione Unicode delle classi di caratteri predefinite e POSIX.
9UNIX_LINES
Questa bandiera abilita il modello di riga Unix.

Di questo tipoflags()Il metodo restituisce i segni utilizzati nel modello corrente.

Esempio

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("Inserisci il tuo nome: ");
      String name = sc.nextLine();
      System.out.println("Inserisci la tua data di nascita: ");
      String dob = sc.nextLine();
      //Espressione regolare accetta date nel formato MM-DD-YYY
      String regex = "^(1[0-2]|0[1-9])/ # Per Mese\n" + "(3[01]|[12][0-9]|0[1-9])/ # Per Giorno\n"
+ "[0-9]{4}$ # Per Anno";
      //Creare un oggetto Pattern
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //Creare un oggetto Matcher
      Matcher matcher = pattern.matcher(dob);
      boolean result = matcher.matches();
      if(result) {
         System.out.println("La data di nascita fornita è valida");
      } else {
         System.out.println("La data di nascita fornita non è valida");
      }
      System.out.println("Flag utilizzata: "+ pattern.flags());
   }
}

Risultato di output

Inserisci il tuo nome:
Krishna
Inserisci la tua data di nascita:
09/26/1989
La data di nascita fornita è valida
Flag utilizzata: 4