Kaj so redni izrazi na Javi?
V Java , Regex ali Regular Expression je vmesnik aplikacijskega programa, ki pomaga pri določanju vzorca za iskanje, manipulacijo in urejanje strun. Java regularni izrazi se pogosto uporabljajo pri preverjanju veljavnosti gesel in e-poštnih sporočil. Te izraze ponuja paket java.util.regex in je sestavljen iz 1 vmesnika in 3 razredov.
Trije razredi so:
- Vzorec: Pomaga pri določanju vzorcev.
- Ujemalec: Uporaba vzorcev pomaga pri izvajanju tekem.
- PatternSyntaxException: Pomaga pri navajanju napake skladnje.
Java Regex ima en vmesnik, znan kot MatchResultInterface, ki pomaga pri določanju rezultata delovanja regularnega izraza.
Sintaksa regularnega izražanja v Javi
Zdaj pa si oglejmo, kako s pomočjo programa napisati regularni izraz v Java.
Koda:
//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);
) )
Izhod:
Pogosto uporabljene metode v regularnih izrazih
Obstajajo 3 pogosto uporabljene metode v pravilnih izrazih. So,
1. Indeksne metode
Indeksne metode ponujajo vrednosti indeksov, ki pomagajo natančno prikazati, kje je bilo v nizu, podanem kot vhod, najdeno ujemanje.
Metoda | Opis |
start () | Začetni indeks prejšnje tekme se vrne. |
začetek (int skupina) | Glede na prejšnjo tekmo skupine se naknadno zajame in vrne. |
konec () | Poravnava po ujemanju zadnjega znaka se vrne. |
Konec (int skupina) | Glede na prejšnjo tekmo skupine se naknadno ujame in izravna po vrnitvi zadnjega znaka. |
2. Metode študija
Načini preučevanja preverijo niz, ki je dan kot vhod, in vrne se logična vrednost, ki kaže, ali je vzorec najden ali ne.
Metoda | Opis |
gledati() | Ujemanje zaporedja, ki je bilo vneseno, glede na vzorec z začetka regije. |
najti() | Poišče naslednjo zaporedje zaporedja, podanega kot vhod v skladu z vzorcem z začetka regije. |
najdi (int začetek) | Ponastavi matcher in nato najde naslednjo zaporedje zaporedja, podanega kot vhod proti vzorcu iz podanega indeksa. |
tekme () | Ujema se z vsebino glede na vzorec. |
3. Načini zamenjave
Metode, ki se uporabljajo za zamenjavo besedila v nizu.
Metoda | Opis |
appendReplacement (StringBuffer s, zamenjava niza) | Izveden bo dodaten in nadomestni korak. |
appendTail (StringBuffer s) | Izveden bo korak dodajanja in zamenjave terminala. |
nadomestiAll (zamenjava niza) | Zamenjajte vso zaporedje zaporedja, podanega kot vhod, ki se ujema z vzorcem, z nadomestnim nizom. |
quoteReplacement (nizov) | Za omenjeni niz bo vrnjen dobesedni nadomestni niz. |
nadomestiFirst (zamenjava niza) | Prvo zaporedje zaporedja, podanega kot vhod, zamenjajte z vzorcem z nadomestnim nizom. |
Kako definirati regularno izražanje v Javi?
Obstaja več načinov, s katerimi je mogoče določiti pravilen izraz. To so:
1. Literali
Predpostavimo, da je treba v besedilu "hai" iskati niz "hai". To lahko storite s pomočjo sintakse.
Pattern.matches("hai", "hai")
2. Razredi znakov
Ujema se z vsakim posameznim znakom v besedilu, ki je dano kot vnos, proti več dovoljenim znakom v razredu znakov. Sledijo različni konstrukti razreda.
Razred znakov | Pojasnilo |
(pqr) | Besedilo se ujema, če vsebuje p, q ali r in mora biti samo enkrat. |
(pqr) | označuje negacijo in zaradi tega so tukaj vzeti posamezni znaki, razen p, q ali r. |
(a-zA-Z) | štejemo od a do z in od A do Z. |
(oglas (ps)) | a do d ali p do s. |
(a-dm-p) | Zveza obeh razponov. |
(az && (pqr)) | a do z in (p, q ali r). |
(az && (pq)) | a do z in tudi p, q se ne upoštevajo. |
(ad-z) | Izvede odštevanje. |
(az && (mp)) | a do z in ne m do str. |
3. Metacharacters
Metacharacters delujejo kot kratke kode v regularnem izrazu. Spodaj je nekaj najpogosteje uporabljenih metaharakterjev.
Vsakdanje izražanje | Pojasnilo |
\ d | Katera koli številka od 0 do 9. Lahko se zapiše tudi kot (0-9). |
\ D | Katera koli številka od 0 do 9. Lahko se zapiše tudi kot (0-9). |
\ s | Znak s praznim prostorom ali (\ t \ n \ x0B \ f \ r). |
\ S | Neobstoječi znak ali presledki (\ s). |
\ w | Besedni znak ali (a-zA-Z_0-9). |
\ Š | Znak brez besed ali (\ w). |
\ b | Besedna meja. |
\ B | Meja brez besed. |
4. Kvantifikatorji
Kvantifikatorji omenjajo število pojavov vsakega znaka, da se ujemajo z nizom.
Vsakdanje izražanje | Pojasnilo |
a? | Pojavi se enkrat ali pa sploh ne. |
A * | A se pojavi 0 ali večkrat. |
A + | A se pojavi 1 ali večkrat. |
A (n) | A se pojavi točno n-krat. |
A (n, ) | A se pojavi n ali več od tega. |
A (n, m) | A se pojavi vsaj n krat, vendar ne sme biti več kot m krat. |
Kako ustvariti regularno izražanje v Javi?
Zdaj pa si oglejmo java program z zgoraj omenjenimi pravilnimi izrazi.
Koda:
//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
)
)
Izhod:
Zaključek
Java Regular Expressions se pogosto uporabljajo za aplikacije v realnem času, kot sta preverjanje gesla in e-pošte. Ti izrazi so API-ji, ki definirajo vzorce in ponujajo iskanje, urejanje in več drugih operacij v nizu.
Priporočeni članki
To je vodnik za regularne izraze na Javi. Tukaj razpravljamo o tem, kako ustvariti, kako definirati in pogosto uporabljane metode pravilnih izrazov v javi. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Najboljši 3 najboljši prevajalci na Javi
- Redni izrazi v JavaScript - Lastnosti in metode
- Razvoj aplikacij Java
- Array Metode v Javi s primeri
- Funkcije Regex v Pythonu (primer)