Milyen szabályos kifejezések vannak a Java-ban?

A Java- ban a Regex vagy a Regular Expression egy olyan alkalmazásprogram interfész, amely segít meghatározni egy mintát a karakterláncok keresése, kezelése és szerkesztése céljából. A Java reguláris kifejezéseket széles körben használják a jelszavak és e-mailek érvényesítésében. Ezeket a kifejezéseket a java.util.regex csomag biztosítja, és 1 felületről és 3 osztályból állnak.

A három osztály a következő:

  1. Minta: Segít a minták meghatározásában.
  2. Matcher: Minták használata segít a mérkőzés műveletek végrehajtásában.
  3. PatternSyntaxException: Segít a szintaxis hiba jelzésében .

A Java Regexnek van egy olyan felülete, amely MatchResultInterface néven ismert, amely segít meghatározni a reguláris kifejezés egyezési művelet eredményét.

A szokásos kifejezés szintaxisa Java-ban

Most nézzük meg, hogyan lehet egy Java segítségével rendszeres kifejezést írni a Java-ban.

Kód:

//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);
) )

Kimenet:

A szabályos kifejezésekben általánosan használt módszerek

Három általánosan alkalmazott módszer van a reguláris kifejezésekben. Ők,

1. Index módszerek

Az index módszerek olyan index értékeket kínálnak, amelyek segítenek pontosan megmutatni, hogy hol található az egyezés a bemeneti sorban.

Eljárás Leírás
Rajt()Az előző mérkőzés kezdési indexe visszatér.
start (int csoport)Figyelembe véve a csoport korábbi mérkőzésműveletét, a szekvenciát elfogják és visszatérítik.
end ()Az eltolás után az utolsó karakter visszatér.
Vége (int csoport)Figyelembe véve a csoport korábbi mérkőzésműveletét, a szekvenciát rögzítik és eltolják, miután az utolsó karakter visszatért.

2. Vizsgálati módszerek

Tanulmányi módszerek ellenőrzik az inputként megadott karakterláncot, és visszatér egy logikai érték, amely jelzi, hogy a minta megtalálható-e vagy sem.

Eljárás Leírás
ránéz()Egyeztesse a bemeneten megadott szekvenciát a mintázattal a régió elejétől.
megtalálja()Megtalálja a bemenetként megadott szekvencia következő sorozatát a régió elejétől kezdve a minta alapján.
keresés (int indítás)Alaphelyzetbe állítja az illesztőprogramot, majd megtalálja a megadott szekvencia következő sorozatát a megadott index minta alapján.
mérkőzések ()A tartalom illeszkedik a mintához.

3. Csere módszerek

A karakterláncban szereplő szöveg helyettesítésére szolgáló módszerek.

Eljárás Leírás
appendReplacement (StringBuffer s, String csere)Nem terminál felépítés és csere lépés kerül végrehajtásra.
appendTail (StringBuffer s)A terminál felvétele és a csere lépés végrehajtásra kerül.
HelyettesítMinden (Karakterlánc-csere)Cserélje ki a bemenetenként megadott szekvencia minden olyan szekvenciáját, amely illeszkedik a mintához, cserehúrral.
quoteReplacement (String s)A szó szerinti helyettesítő karakterlánc kerül visszaadásra az említett karakterlánc számára.
replaFirst (karakterlánc csere)Cserélje ki a bemenetként megadott sorozat első sorozatát, amely illeszkedik a mintába egy cserehúrral.

Hogyan definiálható a reguláris kifejezés a Java-ban?

A reguláris kifejezés többféle módon definiálható. Ők:

1. Irodalom

Tegyük fel, hogy a „hai” karakterláncot a „hai” szövegben kell keresni. Meg lehet tenni a szintaxis segítségével.

Pattern.matches("hai", "hai")

2. Karakter osztályok

Összeegyezteti a szöveg minden egyes karakterét bemenetként a karakterosztály több megengedett karakterével. Az alábbiakban bemutatjuk a különféle osztálykonstrukciókat.

Karakterosztály Magyarázat
(PQR)Megfelel a szövegnek, ha p, q vagy r tartalmaz, és csak egyszer kell lennie.
(PQR)jelzi a tagadást, és ezért itt egyetlen karaktert veszünk, kivéve p, q vagy r.
(A-zA-Z)a-tól z-ig és A-tól Z-ig figyelembe kell venni.
(Ad (ps))a – d vagy p – s.
(A-dm-p)Mindkét tartomány egyesülése.
(AZ && (PQR))a – z és (p, q vagy r).
(AZ && (PQ))a-tól z-ig, valamint p, q-ig nem vesszük figyelembe.
(kifarag)Végzi a kivonást.
(AZ && (MP))a – z és nem m – p.

3. Meta karakterek

A metakarakterek úgy működnek, mint a rövid kódok a reguláris kifejezésben. Az alábbiakban felsorolunk néhány általánosan használt metakaraktert.

Reguláris kifejezés Magyarázat
\ dBármely szám 0 és 9 között lehet. (0-9) is lehet írni.
\ DBármely nem 0 és 9 közötti számjegy. Írható (0-9) is.
\ sSzóköz vagy (\ t \ n \ x0B \ f \ r).
\ SNem szóköz karakter vagy (\ s).
\ wSzó karakter vagy (a-zA-Z_0-9).
\ WNem szó karakter vagy (\ w).
\ bSzóhatár.
\ BNem szó határ.

4. Minősítők

A számszerűsítők megemlítik az egyes karakterek előfordulásának számát, amelyek illeszkednek a karakterlánchoz.

Reguláris kifejezés Magyarázat
Egy?Egyszer fordul elő, vagy egyáltalán nem.
A *A A legalább 0-szor fordul elő.
A +A előfordulása 1 vagy többször.
A (N)Az A pontosan n-szer fordul elő.
A (N, )A előfordulása n vagy annál több.
A (n, m)A előfordul legalább n-szer, de nem lehet több, mint m-szer.

Hogyan hozhatunk létre rendszeres kifejezést Java-ban?

Most nézzünk meg egy java programot a fent említett reguláris kifejezésekkel.

Kód:

//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
)
)

Kimenet:

Következtetés

A Java Regular Expressions kifejezéseket széles körben használják valós idejű alkalmazásokhoz, például jelszavak és e-mailek ellenőrzéséhez. Ezek a kifejezések olyan API-k, amelyek meghatározzák a mintákat, és keresést, szerkesztést és számos más műveletet kínálnak a karakterláncban.

Ajánlott cikkek

Ez egy útmutató a Java rendszeres kifejezéseihez. Itt tárgyaljuk, hogyan lehet létrehozni, hogyan lehet definiálni és általánosan használt módszereket a java-ban a reguláris kifejezésekhez. A következő cikkeket is megnézheti további információkért -

  1. A Java top 3 legjobb fordítója
  2. Rendszeres kifejezések JavaScript-ben - Tulajdonságok és módszerek
  3. Java alkalmazás fejlesztése
  4. Tömb módszer a Java-ban példákkal
  5. Regex funkciók a Pythonban (példa)

Kategória: