A reguláris kifejezések a java és a csomag
A reguláris kifejezések (reguláris kifejezések) lehetővé teszi, hogy hasonlítsa össze a szöveget a megadott mintát, és végezze helyettesítő szöveget. Ezeket a műveleteket végzik révén egyetemes karaktereket tartalmaz, amelyek értelmezik különleges módon. A reguláris kifejezések támogatottak, és használják számos programozási nyelven.
A Java is, van egy csomag, amely lehetővé teszi, hogy velük együtt dolgozni - java.util.regex. Ebben a tutorial:
Áttekintést java.util.regex csomag
A csomag tartalmaz csak három osztály: Matcher, Pattern, PatternSyntaxException.
- Minta - összeállított ábrázolása egy reguláris kifejezés. Összeállításához meg kell hívni egy statikus metódust fordításkor.
- Matcher - motor, ami az összehasonlítás művelet (match).
- PatternSyntaxException - szintaktikai hibát jelez a kifejezést.
A szekvencia hívás módszerek, ha dolgozik regexp:
Mint látható a példából, a reguláris kifejezés először be kell összeállítani. A kapott objektum lehet használni, hogy hozzon létre egy objektumot alapú Matcher java.lang.CharSequence (karakterlánc). Matcher, viszont azt eredményezi, a mérkőzések () metódust.
A reguláris kifejezések nagyon hasznos lehet a szerver és kliens oldali adatok érvényesítését.
Szekvencia formájában [a-zA-Z] jelzi több, ebben az esetben a készlet latin karaktereket felső és alsó regiszterek. Azt mondja, hogy egy szimbólum meg kell felelnie n-szer, és - n m alkalommal. Symbol \ d jelzi számok halmaza. „\ U002E” és „\ u005F” - szimbólumok a pontokat, és hangsúlyozzák volt. A plusz jel egy bizonyos szekvencia azt sugallja, hogy meg kell felelnie egy vagy több alkalommal. "|" - ábrázolása a logikai „vagy”.
Teljes leírás az összes tervek megtalálható a Java API-t.
És itt van az eredmény a futás a program:
Keresés húrok a szövegben
Szöveg keresése végezhetjük módszerrel Matcher.find (). Például, azt látjuk, a nyitó html tag a szövegben:
megtalálni eljárás beállítja a kurzort a következő lánc és vételi lánc maga segítségével Matcher.group () metódust.
A közeljövőben fogjuk bővíteni a történetet kissé bonyolultabb példa csoportokkal.
Cseréje húrok a szövegben
A Matcher osztály helyett a szövegben replaceAll módszer. De mi van, ha meg kell, hogy rugalmasabb csere. Ezekre a célokra, és hasznos módszerek appendReplacement appendTail. By the way, csak hívja a módszer appendTail programozók néha elfelejti. Keresés húrok mint korábban végrehajtási Matcher.find () metódust.
Az API a visszafelé kompatibilitás továbbra is használják a StringBuffer.
Eddig mindent. Ha bármilyen kérdése vagy észrevétele - írja.