Come scrivere regex in java

Come scrivere regex in java

IL Regex (Acronimo del espressione regolare) è una sequenza di personaggi che ci aiutano a cercare e manipolare le corde. Espressioni regolari può essere utilizzato in tutti i linguaggi di programmazione come Java, C ++, ecc. Per avvalersi delle funzionalità del Regex, Java fornisce un pacchetto integrato Giava.util.Regex che contiene tre classi Modello, Matcher, E PatternStaxException.

Questo articolo fornirà una panoramica completa di come scrivere Regex in Java e per farlo dobbiamo capire i seguenti concetti:

  • Giava.util.pacchetto regex
  • Creazione di pattern e corrispondenza del modello in regex
  • Bandiere e motivi in ​​regex
  • Metacharacters in Regex
  • Quantifiers in Regex
  • Come scrivere regex in java

Quindi iniziamo!

Giava.util.pacchetto regex

È un pacchetto Buil-In che include tre classi: a Modello classe per definire un modello che verrà utilizzato nella ricerca, a Matcher classe che può essere utilizzata per cercare un modello e a PatternStaxException classe per indicare un errore/eccezione di sintassi in a Regex modello.

Creazione di pattern e corrispondenza del modello in regex

Dobbiamo invocare il compilare() metodo del Modello classe per creare uno schema. Il metodo Compile () restituirà un modello che sarà interpretato da matcher () Metodo per eseguire l'operazione di corrispondenza sulla stringa/sequenza di caratteri.

Prima di dirigerci verso come scrivere un regex in Java prima dobbiamo capire alcune importanti bandiere, metacharacter e quantificatori che possono essere utili per scrivere un regex.

Modelli in regex

La classe di pattern ne utilizza compilare() Metodo per creare uno schema e può richiedere due parametri, uno per la ricerca del modello e l'altro è opzionale che viene utilizzato per specificare un flag.

Come il compilare() Il metodo prende uno schema nel primo parametro, quindi alcuni schemi usati frequentemente sono forniti di seguito:

  1. [-] All'interno di parentesi il "-" rappresenta vari caratteri, mentre [-] rappresenta uno schema che definisce che trovi/cerca un carattere tra le opzioni specificate tra le parentesi.
  2. [ ^-] Qui il segno ^ non rappresenta no, il che significa che se specifichiamo un segno ^ con qualche modello, significa trovare un carattere tranne le opzioni specificate tra le staffe.
  3. [0-9], rappresenta la ricerca di un numero compreso tra 0 e 9.

Bandiere in espressioni regolari

I flag possono essere passati come secondo parametro al metodo Compile () e viene utilizzato per specificare il comportamento di ricerca del regex. Ad esempio, Case_insenstive è una bandiera che determina: cerca il modello indipendentemente dalla sensibilità del caso I.e. maiuscolo o minuscolo.

Metacharacters in Regex

IL Metacharacters aiutaci a definire i criteri di ricerca per il regex e questi Metacharacters avere qualche significato speciale. Alcuni metacharacter usati più frequentemente sono elencati nella tabella di seguito:

Metacharacters Descrizione
\D trova una cifra
\B trova una partita all'inizio o alla fine della parola
$ Trova una corrispondenza alla fine della stringa
^ Trova la partita all'inizio della stringa
\S Utilizzato per cercare negli spazi bianchi
| Trova una corrispondenza da più opzioni separate con '|'.
. Usato per abbinare un singolo carattere

Quantifiers in Regex

Come suggerisce il nome stesso, i quantificatori specificano la quantità i.e. Quante volte si verifica un numero in uno schema, nella tabella seguenti sono forniti alcuni quantificatori usati di frequente:

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

Come scrivere regex in java

La classe di pattern verrà utilizzata per creare uno schema e per farlo dobbiamo invocare "Public Static Compile ()" metodo, in seguito specificheremo il modello all'interno del compilare() metodo.

In Java, un regex può essere scritto in più modi come elencato di seguito:

Primo metodo

Nel frammento di seguito, in primo luogo, creiamo l'oggetto della classe pattern e specifichiamo il modello all'interno del suo metodo di compilazione. Utilizziamo un metacharacter "." che dice che la stringa è composta da due lettere in cui la prima lettera può essere tutt'altro che la seconda lettera deve essere "io":

Classe pubblica WriteRegexExample
publicClassWriteRegexExample
publicstaticVoidMain (string args [])
Pattern ptrn = pattern.compilare(".io");
Matcher Mat = ptrn.matcher ("hi");
booleanbol = mat.corrispondenze ();
Sistema.fuori.println (Bol);

Creiamo l'oggetto della classe Matcher che interpreterà il modello e eseguirà le operazioni di corrispondenza sulla stringa di input. Successivamente, abbiamo utilizzato il metodo Matches () che restituirà un valore booleano, se la corrispondenza viene trovata, restituisce "vero" altro falso.

L'output mostra vero, il che significa che la corrispondenza desiderata è stata trovata con successo.

Secondo metodo

Lo snippet di seguito mostra un altro modo di scrivere il Regex in Java:

booleano bol = pattern.compilare(".io").Matcher ("HI").corrispondenze ();
Sistema.fuori.println (Bol);

Questa volta utilizziamo il Compile (), Matcher (), E corrispondenze () Metodi in una volta.

L'output mostra che il nostro programma funziona correttamente.

Terzo metodo

Un altro modo per scrivere un regex è che possiamo utilizzare direttamente il corrispondenze () Metodo della classe dei matcher con la classe pattern e all'interno della parentesi, specificheremo il "modello"E la stringa con cui vogliamo abbinare.

booleano bol = pattern.corrispondenze (".Io "," ciao ");
Sistema.fuori.println (Bol);

Il codice completo e il rispettivo output sono mostrati nel seguente frammento:

Output autentica il funzionamento del programma sopra.

Conclusione

Il regex è una sequenza di caratteri che definisce i modelli di ricerca che possono essere utilizzati per cercare, manipolare e modificare una stringa. Il regex può essere scritto in diversi modi, l'approccio per scrivere un regex può essere diverso, tuttavia dobbiamo utilizzare il compilare() metodo di classe di pattern e corrispondenze () Metodo della classe di matcher in ogni approccio. Questo articolo presenta una panoramica dettagliata di come scrivere un regex in Java e per una migliore comprensione, spiega tutti gli aspetti necessari delle espressioni regolari come quantificatori, metacharacter e così via.