Regex ili Regular Expression skup je posebnih znakova koji se kombiniraju u obliku uzorka za pretraživanje znakova u nizovima. U računalnom programiranju i softverskom inženjerstvu učenje regularnih izraza bit će od velike pomoći u pronalaženju informacija u bilo kojem tekstu. Sve vrste operacija pretraživanja teksta, oblikovanja i zamjene teksta mogu se provesti pomoću regularnih izraza.
Ovaj vodič će vas voditi o korištenju regex razmaka u Javi.
Što je Regex u Javi?
Regularni izraz ili regularni izraz mogu biti jednostavni poput jednog znaka ili složenog uzorka. Može se stvoriti s nizom teksta i simbola određenim redoslijedom. Većina znakova u regularnom izrazu su slova i tipografski simboli. Regex je osjetljiv na velika i mala slova, pa imajte to na umu dok ga stvarate i koristite.
Kako koristiti Regex Whitespace u Javi?
Iako Java nema unaprijed definiranu klasu regularnog izraza. Međutim, možemo koristiti regularne izraze uvozom ' java.util.regex ” knjižnica. Uključuje neke klase kao što su ' Uzorak ', koji se koristi za definiranje uzorka regularnog izraza, i ' Šibice ” klasa koja se koristi za pretraživanje s uzorkom.
Postoje dvije metode za korištenje regex razmaka u Javi kako slijedi:
-
- Korištenje metode Pattern.matches() (koristite unaprijed definirani regularni izraz)
- Korištenje uzorka i klase podudaranja (stvorite korisnički definirani regularni izraz za podudaranje)
Pogledajmo kako će ove metode raditi s regularnim izrazom za razmake u Javi.
Metoda 1: Upotrijebite unaprijed definirane razmake regularnih izraza s metodom Pattern.matches() u Javi
Da biste pronašli razmake u nizu, postoje tri uobičajena regularna izraza u Javi:
-
- \s : Predstavlja jedan bijeli prostor.
- \s+ : Označava više bijelih prostora.
- \u0020 : To je Unicode razmaka koji se koristi kao regularni izraz za pronalaženje razmaka u tekstu.
Ove regularne izraze možemo koristiti u statičkoj metodi ' odgovara() ' od ' Uzorak ” razred. Klasa uzorka pripada ' java.util.regex ” paket. Ispod je data sintaksa metode Pattern.matches():
Sintaksa
Uzorak.šibice ( '\s' , ' ' ) ;
Navedena metoda uzima dva argumenta: regularni izraz i niz za podudaranje. Prvi argument “\s” je regularni izraz ili regularni izraz bjeline, a drugi argument ” “ je razmak u nizu. Vraća true ili false kao Booleovu vrijednost.
Primjer 1: Koristite “\s” WhiteSpace Regex
Ovdje ćemo koristiti ' \s ” regex u metodi Pattern.matches(). Proslijediti ćemo niz bez razmaka u metodi kao drugi argument. Metoda će provjeriti regularni izraz i niz i zatim vratiti Booleovu vrijednost koja će biti pohranjena u ' odgovarati ” varijabla:
Booleov odgovarati = Uzorak.podudaranja ( '\s' , '' ) ;
Ispišite vrijednost varijable podudaranja koristeći ' System.out.println() ” metoda:
Vrijednost koju vraća ' Pattern.matches() 'metoda je' lažno ” jer proslijeđeni niz nema razmaka:
Sada ćemo vidjeti neke druge primjere za usklađivanje razmaka s drugim regularnim izrazima.
Primjer 2: Koristite “\s+” WhiteSpace Regex
U ovom primjeru, proći ćemo ' \s+ ' regularni izraz u ' odgovara() ” za pronalaženje više prostora:
Booleov odgovarati = Uzorak.podudaranja ( '\s+' , ' ' ) ;
Ispišite vrijednost varijable podudaranja koja pohranjuje vraćeni rezultat metode:
Kako drugi argument sadrži razmake, rezultantna vrijednost se prikazuje kao ' pravi ”:
Primjer 3: Koristite “\u0020” WhiteSpace Regex
Ovdje ćemo vam pokazati kako se Unicode koristi kao regularni izraz u Javi. Za navedenu svrhu koristit ćemo ' \u0020 ” regularni izraz kao Unicode razmaka:
Booleov odgovarati = Uzorak.podudaranja ( '\u0020' , ' ' ) ;
Ispiši vraćenu vrijednost:
Metoda Pattern.matches() ispisat će ' pravi ” kao proslijeđeni niz koji sadrži razmake:
Prijeđimo na drugu metodu za korištenje regularnog izraza u Javi.
Metoda 2: Upotreba korisnički definiranih razmaka regularnih izraza s klasom uzorka i podudaranja
' Uzorak ” klasa se koristi za definiranje ili stvaranje uzorka, dok se klasa “ Šibice ” klasa se koristi za pretraživanje prema zadanom uzorku. Uzorak za regularni izraz može se stvoriti uz pomoć ' sastaviti() ” metoda klase Pattern. Potreban je samo jedan parametar, uzorak koji želite sastaviti za bilo koju svrhu.
Sintaksa
Uzorak.kompilirati ( ' \t \p{Zs}' ) ;
The Šibice klasa odgovara uzorku pomoću ' odgovara() ” metoda. Potrebno je ' niz ” kao uzorak.
Sintaksa
patternVariable.matcher ( niz ) ;
Postoje neki unaprijed definirani regularni izrazi za razmake o kojima smo govorili gore, a preostali su navedeni u nastavku:
-
- \\t\\p{Zs}
- \\p{Zs}
Sada pogledajmo neke primjere.
Primjer 1: Koristite “\\t\\p{Zs}” WhiteSpace Regex
U ovom ćemo primjeru broj razmaka saznati njihovim prebrojavanjem. Prvo ćemo stvoriti niz ' s ” i ispišite na konzoli:
Niz s = 'Dobro došli u LinuxHint' ;System.out.println ( s ) ;
Zatim ćemo definirati obrazac ' \\t\\p{Zs} ' koji djeluje kao regularni izraz razmaka u Javi i jednak je ' \s ”. Nakon sastavljanja zadanog uzorka, varijabla ' regexPattern ” će sadržavati rezultantnu vrijednost:
Nazovite ' odgovara() ' metoda i prolaz ' s ” Niz:
Napravite varijablu tipa cjelobrojnog tipa ' računati ” i inicijalizirajte ga vrijednošću “ 0 ”:
Izbrojite broj razmaka koji postoje u nizu koristeći ' dok ' petlja. Petlja će proći kroz niz i povećati vrijednost varijable brojanja ako naiđe na razmak:
brojati++;
}
Na kraju ispišite vrijednost count da pokažete koliko se razmaka nalazi u nizu:
Izlaz
Primjer 2: Koristite “\p{Zs}” WhiteSpace Regex
Sada ćemo pronaći razmake u nizu pomoću drugog uzorka ' \p{Zs} ”. Ovaj obrazac funkcionira slično ' \s ' i ' \s+ ” regularni izraz:
Pattern regexPattern = Pattern.compile ( '\\p{Zs}' ) ;
Sada zovemo ' odgovara() ' metoda i prolaz ' s ” String kao argument:
Kao u gornjem primjeru, također koristimo ' dok ” petlja za brojanje razmaka u nizu i njihovo ispisivanje:
Dati izlaz pokazuje da naš String ' Dobrodošli u Linux Hint ” sadrži tri razmaka:
Sastavljamo sve najjednostavnije metode koje vam mogu pomoći da koristite regex bjelinu u Javi.
Zaključak
Postoji mnogo regularnih izraza za razmak kao što je ' \s ”, “ \s+ ”, “ \u0020 ”, “ \\t\\p{Zs} ', i ' \\p{Zs} ”. Ti se regularni izrazi koriste u metodi matches() klase Pattern ili definiranjem uzorka s klasom Pattern i njegovim usklađivanjem pomoću klase Matcher. Najčešće korišteni razmak regularnog izraza je \s i \s+. U ovom vodiču pokrili smo sve metode za korištenje regex razmaka u Javi.