English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Numero | Colonna e descrizione |
---|---|
1 | CANON_EQ Solo quando due norme di caratteri sono ugualiQuandoCorrisponde. |
2 | CASE_INSENSITIVE Corrisponde ai caratteri, senza distinzione tra maiuscole e minuscole. |
3 | Commenti Permette spazi e commenti di modello. |
4 | DOTALL Abilita il modello dotall. Dove il carattere jolly “.” corrisponde a tutti i caratteri, inclusi i terminatori di riga. |
5 | LITERAL Abilita l'analisi testuale del modello. Questo significa che tutti i caratteri jolly e le sequenze di escape nell'input sono considerati caratteri testuali. |
6 | MULTILINE Abilita il modello multilinea, ovvero considera l'intera sequenza di input come una singola riga. |
7 | UNICODE_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. |
8 | UNICODE_CHARACTER_CLASS Abilita la versione Unicode delle classi di caratteri predefinite e POSIX. |
9 | UNIX_LINES Questa bandiera abilita il modello di riga Unix. |
Di questo tipoflags()Il metodo restituisce i segni utilizzati nel modello corrente.
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