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:
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:
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 WriteRegexExampleCreiamo 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 ();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 ");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.