Espressioni regolari in Java | Spiegato

Espressioni regolari in Java | Spiegato
Un'espressione regolare (nota anche come regex) fornisce un'API che definisce i modelli per cercare o manipolare le corde. In Java, un pacchetto predefinito Giava.util.Regex può essere usato per lavorare con le espressioni regolari. È costituito da tre classi: a Modello classe per definire un modello, a Matcher classe per cercare un modello e a PatternStaxException classe per indicare un errore di sintassi in a Regex modello.

Questo articolo presenta una comprensione approfondita dei seguenti concetti:

  • Creazione di pattern usando il metodo di compilazione
  • Matching pattern usando il metodo del matcher
  • Cosa sono le bandiere nelle espressioni regolari
  • Quali sono i modelli di espressione regolari
  • Cosa sono i metacharacter nelle espressioni regolari
  • Cosa sono i quantificatori nelle espressioni regolari
  • Attuazione pratica di espressioni regolari in Java

Quindi iniziamo!

Creazione di pattern usando il metodo Compile ()

Per creare uno schema, in primo luogo dobbiamo invocare il compilare() metodo del Modello classe e di conseguenza, restituirà un oggetto modello. IL compilare() Il metodo può richiedere due parametri: prima per la ricerca del modello e il secondo è facoltativo e può essere utilizzato per specificare un flag.

Quali sono i modelli nelle espressioni regolari

Nel primo parametro, il compilare() Il metodo specifica un modello da cercare. Alcuni schemi di ricerca comunemente usati sono elencati di seguito:

  1. [-] qui "-" rappresenta personaggi diversi e l'intero modello i.e. [-] descrive che trova un carattere tra le opzioni fornite tra le parentesi.
  2. [^-] descrive la ricerca di un personaggio che non fa parte del modello fornito.
  3. [0-9], descrive la ricerca di un numero compreso tra 0 e 9.

Cosa sono le bandiere nelle espressioni regolari

I flag sono parametri opzionali per le espressioni regolari e possono essere utilizzati per specificare il comportamento di ricerca (espressioni regolari). Ad esempio, Case_Insenstive può essere usato per eseguire la ricerca indipendentemente dal caso della lettera, i.e. maiuscolo o minuscolo.

Matching pattern usando il metodo Matcher ()

Il modello restituito dal compilare() Il metodo sarà interpretato dal matcher () Metodo per eseguire l'operazione di corrispondenza sulla stringa.

Cosa sono i metacharacter nelle espressioni regolari

Java ne fornisce diversi Metacharacters che hanno un significato speciale e sono utili per definire i criteri di ricerca:

Metacharacters Descrizione
\D Usato per trovare una cifra
\B Usato per trovare una corrispondenza all'inizio o alla fine della parola
$ Usato per trovare la partita alla fine della stringa
^ Usato per trovare la partita all'inizio della stringa
\S Cerca gli spazi bianchi
| Cerca una corrispondenza da più opzioni separate con '|' cartello
. Usato per abbinare una singola istanza di un personaggio

Cosa sono i quantificatori nelle espressioni regolari

Il quantificatore specifica il numero di occorrenze da abbinare, alcuni quantificatori comunemente usati sono elencati di seguito:

Quantificatori Descrizione
UN+ A si verifica almeno una volta
UN* A si verifica zero o più tempo
UN? A si verifica tempo zero o una volta
UN A si verifica n numero di volte
UN, A si verifica n volte o più di n volte
A x, y A si verifica tra l'intervallo fornito.e. A si verifica almeno X volte ma meno di Y volte

Attuazione pratica di espressioni regolari in Java

Implementiamo i concetti sopra menzionati in uno scenario pratico per una profonda comprensione.

Esempio

Nel frammento di codice seguente, abbiamo cercato la parola "Linuxhint" in una frase usando un'espressione regolare:

publicClassRegexPexample
publicStaticVoidMain (String [] args)
Patter pat = pattern.Compila ("Linuxhint", pattern.Case_insitive);
Matcher match = pat.matcher ("Benvenuti a Linuxhint.com ");
booleano trovato = abbinamento.Trovare();
se trovato)
Sistema.fuori.println ("corrispondenza trovata con successo");
altro
Sistema.fuori.println ("abbinamento non trovato");


Inizialmente, abbiamo creato l'oggetto del Modello classe, quindi specifichiamo una parola che vogliamo cercare e un flag "case_insensitive" all'interno del compilare() metodo. Successivamente, utilizziamo il matcher () Metodo per eseguire l'operazione di corrispondenza sulla stringa.

L'output autentica che le corrispondenze si trovano con successo indipendentemente dalla sensibilità al caso.

Conclusione

Le espressioni regolari non sono altro che una sequenza di caratteri che definisce i modelli di ricerca. In Java, le espressioni regolari vengono utilizzate per cercare, modificare e manipolare una stringa. Per creare uno schema, prima dobbiamo invocare il compilare() metodo del Modello classe e di conseguenza, restituirà un modello che sarà interpretato dal matcher () Metodo per eseguire l'operazione di corrispondenza sulla stringa. Inoltre, Java ne fornisce diversi Metacharacters che sono utili per definire i criteri di ricerca e Quantificatori Per specificare il numero di occorrenze da abbinare.