Expresii regulate în java și pachet

Expresiile regulate vă permit să potriviți textul cu un șablon specificat, precum și să înlocuiți textul. Aceste operațiuni sunt efectuate folosind simboluri universale, care sunt interpretate într-un mod special. Expresiile regulate sunt acceptate și utilizate într-un număr mare de limbi de programare.

În Java, de asemenea, există un pachet care vă permite să lucrați cu ele - java.util.regex. În acest tutorial:

Privire de ansamblu asupra pachetului java.util.regex

Pachetul conține doar trei clase: Matcher, Pattern, PatternSyntaxException.

  • Modelul este o reprezentare compilată a unei expresii regulate. Pentru a compila, trebuie să apelați metoda statică de compilare.
  • Matcher - motorul care efectuează operația de potrivire.
  • PatternSyntaxException - Indică o eroare de sintaxă în expresie.

Secvența metodelor de apelare atunci când lucrați cu regexp:

După cum puteți vedea din exemplu, expresia regulată trebuie mai întâi compilată. Obiectul rezultat poate fi folosit pentru a crea un obiect Matcher bazat pe java.lang.CharSequence (String). Matcher, la rândul său, numește metoda match ().

Expresiile regulate pot fi foarte utile pentru validarea datelor server-ului și a clientului.

O secvență a formulei [a-zA-Z] indică un set, în cazul nostru este un set de caractere latine în registrele superioare și inferioare. spune că un simbol trebuie să se întâlnească n ori și - de la n la m ori. Simbolul \ d indică un set de cifre. "\ u002E" și "\ u005F" sunt caractere punct și subliniere, respectiv. Semnul plus după o anumită ordine indică faptul că ar trebui să se întâlnească de una sau de mai multe ori. "|" - reprezentarea logicii "sau".

O descriere completă a tuturor constructelor poate fi găsită în Java API.

Iată rezultatul programului:

Căutați conversații în text

Puteți căuta text folosind metoda Matcher.find (). De exemplu, găsim etichetele de deschidere html în text:

Metoda de căutare localizează cursorul pe lanțul următor și puteți obține lanțul folosind metoda Matcher.group ().

În viitorul apropiat, voi extinde articolul cu câteva exemple mai complexe cu grupuri.

Schimbarea lanțurilor în text

Clasa Matcher a înlocuitToate pentru a înlocui textul. Dar dacă vom avea nevoie de o înlocuire mai flexibilă. În aceste scopuri, metodele appendReplacement și appendTail sunt utile. Apropo, programatorii uită uneori despre apelarea metodei appendTail. Căutați lanțuri ca înainte de a utiliza metoda Matcher.find ().

API-ul pentru compatibilitate înapoi încă utilizează StringBuffer.

Până acum, asta este. Dacă aveți întrebări și comentarii, vă rugăm să scrieți.

Articole similare