Câteva resurse pentru expresii regulare


Ce sunt expresiile regulare? (Pentru mine: un subiect nedrag.) Sunt un şir de caractere ce descriu un tipar de căutare. Cu toţii ştim încă de pe vremea lui Norton Commander (uh? vă mai amintiţi? sub DOS) când marcam cu *.txt toate fişierele text. Şi astăzi unele managere de fişiere mai folosesc wildcards pentru marcări. Şi în MS Word avem wildcars la căutări, şi este o facilitate teribil, teribil, teribil de utilă! Un exemplu banal: avem în text scris cîine şi nu câine. Vrem să facem o înlocuire generică, fie că e vorba de cîini, cîinele sau alte forme. Cu wildcards vom putea scrie la Find what "cîin*", iar la Replace with "câin" (fără ghilimele). Această înlocuire va schimba nu doar cîine în câine ci şi cîinii în câinii…

img401

Expresiile regulare sunt însă mai puternice. Mult mai puternice. Dar şi mai dificil de "citit", fără practică cel puţin. Există o serie de metacaractere ce permit scrierea de reguli complicate pentru căutări. Aveţi mai jos din nou nişte exemple banale. Cu ’b indicăm faptul că expresia colo trebuie să fie în margine, şi de aceea nu potriveşte şi cu acolo sau dincolo. Cu / putem indica variante şi în exemplul din dreapta vedeţi expresia care potriveşte şi peste acolo şi peste dincolo.

img402 img403

Dar concret la ce folosesc expresiile regulare? Puterea lor este desigur utilă la programare. Webmasterii de exemplu pot folosi expresiile regulare în JavaScript, dar şi în PHP. Mai rar, dar aţi întâlnit şi în articole de pe CNet.ro expresii regulare. De exemplu în JavaScript pentru validarea a unei adrese de email (similar se poate folosi pentru verificarea unui string dacă respectă de exemplu formatul unei adrese web sau al unei parole). În PHP am folosit expresii regulare pentru un plugin Picasa pentru WordPress – şi desigur în PHP câmpul posibilităţilor este mult mai mare.

Acest material nu se doreşte însă o introducere în tema expresiilor regulare. De fapt ceea ce am dorit să vă prezint este un sit: RegExPal.com. Am putea să îl traducem prin "prietenul expresiilor regulare". Deja l-aţi văzut în acţiune în cele două capturi de mai sus: el oferă posibilitatea testării online a acestor expresii. Într-un câmp scriem tiparul de căutare, iar în altul textul în care doreşti să se facă potrivirea (căutarea). Foarte simplu de folosit şi foarte util când folosiţi expresii regulare. Dacă doriţi să aveţi rapid acces la caracterele speciale şi semnificaţiile lor, atunci vă recomand documentaţia de pe Mozilla. De apreciat că prezentarea matacaracterelor este însoţită de mici exemple. Un sit complex dedicat temei este Regular-Expressions.info. Desigur şi Wikipedia (în engleză) are o pagină dedicată subiectului, un excelent punct de pornire pentru cei care doresc să se documenteze. O altă introducere interesantă (inclusiv cu teme de casă!) găsiţi aici. Dacă doriţi să luaţi de-a gata expresii regulare (pentru cazuri standard, gen adresa de email) atunci vă recomand biblioteca de expresii regulare: RegExLib.com.

img404 img405

Succes!


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (Neevaluat încă)
Loading...Loading...

1 comentariu

  1. ginu spune:

    Radu spune-mi te rog un regex care sa accepte si caracterele romanesti nu numai [a-z A-z]. Dau o bere daca sti, dai o lada si iti spun… 😛 . Mersi!


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *