A reguláris kifejezések java, blog titkosítás

Kétféle típusú kvantorokkal, amelyek hozzáadásával alakul ki az utótag? (Gyenge vagy hiányos véletlen) vagy + ( „kapzsi”, vagy maga a véletlen) a fenti kvantorokat. Hiányos véletlen megfelel a választás a lehető legkevesebb számú karakter, és a saját - a lehető legmagasabb.

KlassPatternispolzuetsya egyszerű gépsorokat. Bonyolultabb gépsorokat használnak klassMatcher alábbiakban tárgyaljuk.

A minta osztály bejelentette a következő módszerekkel:

Matchermatcher (CharSequenceinput) - visszaadja Matcher.
amellyel megtalálható egy mérkőzés a karakterlánc.

Stringpattern () - visszaadja egy string megfelelő mintát.

String [] split (CharSequenceinput) - osztja a bemeneti karakterlánc. Tekintettel arra, hogy a válaszfal egy sablont.

Az eljárás mérkőzések () minta osztály lehet vizsgálni, hogy megfelelnek egy egész sor minta, de ha szükség van, hogy megtalálja a megfelelő string például azonosítani a részeket, amelyek illeszkednek a mintára, a Minta osztály nem lehet használni. Az ilyen műveletek, akkor kell használni a Matcher osztályban.

A kezdeti állapotban Matcher objektum típus nincs definiálva. Próbálok Call-vat minden osztály módszer, hogy információkat kapjon a alatt található eredményez IllegalStateException hibákat. A kezdéshez az objektum Matcher. meg kell hívni egyik módszer:

booleanmatches () - ellenőrzi, hogy a teljes vonalminta;

booleanlookingAt () - megpróbálja megtalálni a karaktersorozatot a kezd a vonal és a megfelelő sablont;

booleanfind () vagy booleanfind (intstart) - próbál találni egy karaktersor, amely a mintának megfelelő bárhol a sorban. start paraméter kezdetét jelzi a keresést.

Néha szükség van, hogy visszaállítsa a Matcher „és az eredeti, mert érvényes a reset módszerrel () vagy alaphelyzetbe (CharSequenceinput). amely meghatározza az új karakterek sorozata keresni.

Ahhoz, hogy cserélje ki az összes karaktert alszekvenciáit kielégítő minta adott vonalon lehet alkalmazni replaceAll módszer (String
csere).

Korlátozni a keresést határokat bemeneti sorozat alkalmazott régió (intstart szándékozik) módszer. és megszerzésének értékek e határok - regionEnd () és regionStart (). több módszer kapcsolódó régió:

MatcheruseAnchoringBounds (booleanb) - Ha az értéke igaz. elején és végén a régió felel meg a karakterek ^ és a $, ill.

booleanhasAnchoringBounds () - ellenőrizze a szorító érzés a határokat.

A reguláris kifejezés a kényelmesebb kezelése bemeneti sorozat után felvitt csoport, akik segítenek azonosítani alkatrészek talált alszekvenciája. A sablon, jelöli őket zárójelben „(” és „)”. Csoport szám kezdődik egy. Zero sávban egybeesik a teljes alszekvencia talált. Az alábbi módszerek kivonására csoportokról tartalmaz információkat.

szándékozik () - visszaadja az index az utolsó karaktere alszekvencia megfelelő minta;

szándékozik (intgroup) - visszaadja az index az utolsó karakter egy meghatározott csoportja;

Stringgroup () - visszaadja az összes alszekvencia kielégítő mintát;

intgroupCount () - visszaadja a csoportok száma;

intstart () - visszaadja az index az első karakter a alszekvencia kielégítő mintát;

intstart (intgroup) - visszaadja az index az első szimbólum az említett csoport;

booleanhitEnd () - true, ha a végén került sor a bemeneti sorozat.

A következő példa bemutatja, hogyan lehet használni az osztályok és lehetőségek Pattern Matcher keresni, elemzés és bontás sorokban.

publicclass DemoRegular

publicstaticvoid fő (String [] args)

// ellenőrizze mintaegyeztetésre húr

Minta p1 = Pattern.compile ( "a + y");

Matcher m1 = p1.matcher ( "aaay");

logikai b = m1.matches ();

// találni, és válassza azt a rész megadott sablon

Minta p2 = Pattern.compile (regex);

Matcher m2 = p2.matcher (s);

// osztott sort részkarakterláncokat segítségével a mintát határolójelként

Minta p3 = Pattern.compile ( "\\ d + \\ s?");

p3.split ( "java5tiger 77 java6mustang");

A (String szó. szó)

Az eredmény jelenik meg:

Első csoport: abdcxyz

Az első esetben az első csoportba tartozik minden karakter, de ez a minimum karakterek száma a második csoportban.

A második esetben, az első csoport van kiválasztva a legkisebb szimbólumok számát, m. Gyenge használni, hogy megfeleljen ..

A harmadik esetben az első csoport egyezik a teljes szöveget, és a második viszont nem egy karakter, mint a második csoport használ egy gyenge meccsen.

A negyedik esetben a szöveg nem egyezik meg a reguláris kifejezés, azaz a. K. A két csoport a legkisebb számú karakter van kiválasztva.

Két hasznos módszerek cseréje alszekvenciáit található a bemeneti karakterlánc nyilvánítják a Matcher osztályban.

csere) - módszer olvas karaktereket a beviteli szennyvíz és hozzáteszi, hogy vkinek. Reading megáll a start () - 1 pozíció az előző mérkőzés, majd zajlik mellett sb csere húr. A következő alkalommal, hívja ezt a módszert, hogy adjunk karakterek készült, kezdve a karakter index end () az előző mérkőzésen.

StringBufferappendTail (StringBuffersb) - hozzáadjuk a fennmaradó a szimbólumok a bemeneti szekvencia sb. Jellemzően, hivatkozott után egy vagy több hívást appendReplacement () módszer.

Kapcsolódó cikkek