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ő:
- Minta: Segít a minták meghatározásában.
- Matcher: Minták használata segít a mérkőzés műveletek végrehajtásában.
- 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 |
\ d | Bármely szám 0 és 9 között lehet. (0-9) is lehet írni. |
\ D | Bármely nem 0 és 9 közötti számjegy. Írható (0-9) is. |
\ s | Szóköz vagy (\ t \ n \ x0B \ f \ r). |
\ S | Nem szóköz karakter vagy (\ s). |
\ w | Szó karakter vagy (a-zA-Z_0-9). |
\ W | Nem szó karakter vagy (\ w). |
\ b | Szóhatár. |
\ B | Nem 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 -
- A Java top 3 legjobb fordítója
- Rendszeres kifejezések JavaScript-ben - Tulajdonságok és módszerek
- Java alkalmazás fejlesztése
- Tömb módszer a Java-ban példákkal
- Regex funkciók a Pythonban (példa)