
Koji su regularni izrazi na Javi?
U Java , Regex ili Regular Expression je sučelje aplikacijskog programa koje pomaže u definiranju uzorka radi pretraživanja, manipulacije i uređivanja nizova. Java regularni izrazi široko se koriste u provjeri lozinki i e-poruka. Ove izraze pruža paket java.util.regex i sastoji se od 1 sučelja i 3 klase.
Tri razreda su:
- Uzorak: Pomaže u definiranju uzoraka.
- Matcher: Korištenje obrazaca pomaže u obavljanju operacija podudaranja.
- PatternSyntaxException: Pomaže u ukazivanju na sintaksu.
Java Regex ima jedno sučelje poznato kao MatchResultInterface koje pomaže u određivanju rezultata operacije regularnog izraza.
Sintaksa regularnog izražavanja u Javi
Pogledajmo sada kako uz program napisati regularni izraz na Javi.
Kodirati:
//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String A = " Happiness is " + " within yourself";
String B = ".*within.*";
// checks whether the string A contains the word 'within' and stores the result in matchcheck
boolean matchcheck = Pattern.matches(B, A);
//prints the result
System.out.println("Is there any string 'within' in the text ? \n " + matchcheck);
) )
Izlaz:

Uobičajeno korištene metode u pravilnim izrazima
Postoje 3 uobičajene metode u pravilnim izrazima. Oni su,
1. Metode indeksiranja
Indeksne metode nude vrijednosti indeksa koje pomažu u preciznom prikazivanju mjesta na kojem je podudaranje pronađeno u nizu koji je dan kao ulaz.
| način | Opis | 
| početak() | Vraća se početni indeks prethodnog meča. | 
| start (int grupa) | S obzirom na prethodnu utakmicu grupe, naknadna snimka se hvata i vraća. | 
| kraj() | Offset nakon podudaranja zadnjeg znaka se vraća. | 
| Kraj (int grupa) | S obzirom na prethodnu operaciju utakmice, naknadni unos se snima i nadoknađuje nakon vraćanja zadnjeg znaka. | 
2. Metode proučavanja
Metode studije provjeravaju niz koji je dan kao ulaz i vraća se Booleova vrijednost koja pokazuje je li uzorak pronađen ili ne.
| način | Opis | 
| gledati u() | Usporedite redoslijed dat kao unos prema obrascu s početka regije. | 
| pronaći() | Pronalazi sljedeću sekvencu niza dat kao unos protiv obrasca s početka regije. | 
| pronađi (int početak) | Ponovno postavlja matcher i zatim pronalazi sljedeću sekvencu niza koji je dan kao unos prema uzorku iz navedenog indeksa. | 
| utakmice () | Odgovara sadržaju prema obrascu. | 
3. Metode zamjene
Metode koje se koriste za zamjenu teksta u nizu.
| način | Opis | 
| appendReplacement (StringBuffer s, zamjena niza) | Provest će se ne-terminalni dodatak i korak zamjene. | 
| appendTail (StringBuffer s) | Provest će se korak dodavanja i zamjene terminala. | 
| fillAll (zamjena niza) | Zamijenite svu naknadnu sekvencu danu kao ulaz koji se podudara s uzorkom zamjenskim nizom. | 
| quoteReplacement (stringovi) | Vratit će se doslovni zamjenski niz za spomenuti niz. | 
| Zamijeni prvo (zamjena niza) | Zamijenite prvu naknadnu sekvencu koja je dana kao ulaz koji odgovara obrascu zamjenskim nizom. | 
Kako definirati regularni izraz u Javi?
Postoji nekoliko načina na koje se može definirati pravilan izraz. Oni su:
1. Literali
Pretpostavimo da u tekstu "hai" treba potražiti niz "hai". To se može učiniti pomoću sintakse.
Pattern.matches("hai", "hai")
2. Klase likova
Odgovara svakom pojedinom znaku u tekstu navedenom kao unos protiv više dozvoljenih znakova u klasi znakova. Slijede razni konstrukti klase.
| Klasa likova | Obrazloženje | 
| (PQR) | Podudara tekst ako sadrži ili p, q ili r i trebao bi biti samo jednom. | 
| (PQR) | označava negaciju i zbog toga su ovdje uzeti pojedinačni znakovi osim p, q ili r. | 
| (A-zA-Z) | a do z i od A do Z smatraju se. | 
| (Ad (PS)) | a do d, ili p do s. | 
| (A-dm-p) | Spoj oba raspona. | 
| (Az && (PQR)) | a do z i (p, q ili r). | 
| (Az && (PQ)) | a do z i također, p, q se ne smatraju. | 
| (tesati drvo) | Izvodi oduzimanje. | 
| (Az && (tt)) | a do z a ne m do str. | 
3. Metakarakteri
Metakarakteri djeluju poput kratkih kodova u regularnom izrazu. Slijede neki od uobičajenih metagrafa.
| Redovna ekspresija | Obrazloženje | 
| \ d | Bilo koja znamenka od 0 do 9. Može se zapisati i kao (0-9). | 
| \ D | Bilo koja znamenka od 0 do 9. Može se zapisati i kao (0-9). | 
| \ s | Znak bjeline ili (\ t \ n \ x0B \ f \ r). | 
| \ S | Non znak bjeline ili (\ s). | 
| \ w | Znak riječi ili (a-zA-Z_0-9). | 
| \ W | Znak koji nije riječ ili (\ w). | 
| \ b | Granica riječi. | 
| \ B | Granica bez riječi. | 
4. Kvantifikatori
Kvantifikatori spominju broj pojavljivanja svakog znaka koji se podudaraju sa nizom.
| Redovna ekspresija | Obrazloženje | 
| A | Javlja se jednom ili uopće ne. | 
| A * | A događa se 0 ili više puta. | 
| A + | A događa se 1 ili više puta. | 
| Naznačen time daje (n) | A događa se točno n puta. | 
| Naznačen time daje (n, ) | A događa se n ili više od toga. | 
| Naznačen time daje (n, m) | A događa se najmanje n puta, ali ne bi trebao biti veći od m puta. | 
Kako stvoriti regularni izraz u Javi?
Sada, pogledajmo java program s gore navedenim redovitim izrazima.
Kodirati:
//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String str="hai";
// Returns true if string 1 matches string 2
System.out.println("Returns true if 'hai' matches 'Hai' :"+
Pattern.matches(str, "Hai")); //False
//Returns true if Hai or hai matches parameter 2
System.out.println("Returns true if 'Hai' or 'hai' matches 'Hai' : "+
Pattern.matches("(Hh)ai", "Hai")); //True
// Returns true if the string matches exactly "ann" or "Ann" or "jak" or "Jak"
System.out.println("Returns true if the string matches exactly 'ann' or 'Ann' or 'jak' or 'Jak' with 'Ann' : "+
Pattern.matches("(aA)nn|(jJ)ak", "Ann"));//True
//returns true if the string contains "with" at any place in the string
System.out.println("returns true if the string contains 'with' in the string 'within' : " +
Pattern.matches(".*with.*", "within"));//True
// returns true if the '9448anna' does not have number in the beginning
System.out.println( "returns true if the '9448anna' does not have number in the beginning : "+
Pattern.matches("^(^\\d).*", "9448anna")); //False
System.out.println("returns true if the '9448anna' does not have number in the beginning : " +
Pattern.matches("^(^\\d).*", "anna9448")); //True
)
)
Izlaz:

Zaključak
Java regularni izrazi se široko koriste za aplikacije u stvarnom vremenu, kao što su provjera zaporke i e-pošte. Ovi izrazi su API-ji koji definiraju obrasce i nude pretraživanje, uređivanje i nekoliko drugih operacija u nizu.
Preporučeni članci
Ovo je vodič za regularne izraze na Javi. Ovdje ćemo razgovarati o stvaranju, kako definirati i najčešće korištene metode regularnih izraza u javi. Možete pogledati i sljedeće članke da biste saznali više -
- Najbolja 3 sastavljača Java
- Redovni izrazi u JavaScript-u - Svojstva i metode
- Java razvoj aplikacija
- Array metode u Javi s primjerima
- Regex funkcije u Pythonu (primjer)