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.

Kapcsolódó cikkek