O expresie regulată (regex) este o secvență de caractere care definește un model de căutare. Iată cum să scrieți expresii regulate:
- Începeți prin a înțelege caracterele speciale folosite în regex, cum ar fi ., *, +, ? și multe altele.
- Alegeți un limbaj de programare sau un instrument care acceptă regex, cum ar fi Python, Perl sau grep.
- Scrieți modelul folosind caracterele speciale și caracterele literale.
- Utilizați funcția sau metoda corespunzătoare pentru a căuta modelul într-un șir.
Exemple:
- Pentru a potrivi o secvență de caractere literale, pur și simplu scrieți acele caractere în model.
- Pentru a potrivi un singur caracter dintr-un set de posibilități, utilizați paranteze drepte, de ex. [0123456789] se potrivește cu orice cifră.
- Pentru a potrivi zero sau mai multe apariții ale expresiei precedente, utilizați simbolul stea (*).
- Pentru a potrivi una sau mai multe apariții ale expresiei precedente, utilizați simbolul plus (+).
- Este important să rețineți că regex poate fi complex și dificil de citit, așa că este recomandat să utilizați instrumente precum testere regex pentru a vă depana și optimiza modelele.
O expresie regulată (uneori numită expresie rațională) este o secvență de caractere care definesc un model de căutare, în principal pentru utilizarea în potrivirea modelelor cu șiruri de caractere sau potrivirea șirurilor de caractere, adică pentru a găsi și înlocui operațiuni similare. Expresiile regulate sunt o modalitate generalizată de a potrivi modele cu secvențe de caractere. Este folosit în orice limbaj de programare precum C++, Java și Python.
Ce este o expresie regulată și ce o face atât de importantă?
Regex este folosit în Google Analytics în potrivirea URL-ului în sprijinirea căutării și înlocuiește în cele mai populare editori precum Sublime, Notepad++, Brackets, Google Docs și Microsoft Word.
matrice în programarea c
Example : Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$> Expresia regulată de mai sus poate fi folosită pentru a verifica dacă un anumit set de caractere este sau nu o adresă de e-mail.
Cum se scrie expresiile regulate?
Există anumite elemente folosite pentru a scrie expresii regulate, așa cum este menționat mai jos:
1. Repetoare ( *, + și { } )
Aceste simboluri acționează ca repetoare și îi spun computerului că caracterul precedent trebuie utilizat mai mult decât o singură dată.
2. Simbolul asterisc ( * )
Îi spune computerului să se potrivească cu caracterul precedent (sau setul de caractere) de 0 sau mai multe ori (până la infinit).
Example : The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>
3. Simbolul Plus ( + )
Îi spune computerului să repete caracterul precedent (sau setul de caractere) de cel puțin o dată sau de mai multe ori (până la infinit).
Example : The regular expression ab+c will give abc, abbc, abbbc, … and so on.>
4. Bretele { … }
Acesta îi spune computerului să repete caracterul precedent (sau setul de caractere) de atâtea ori cât valoarea din această paranteză.
java pgm
Example : {2} means that the preceding character is to be repeated 2 times, {min,} means the preceding character is matches min or more times. {min,max} means that the preceding character is repeated at least min & at most max times.> 5. Wildcard ( . )
Simbolul punct poate lua locul oricărui alt simbol, de aceea se numește caracter joker.
Example : The Regular expression .* will tell the computer that any character can be used any number of times.>
6. Caracter opțional ( ? )
Acest simbol îi spune computerului că caracterul precedent poate sau nu să fie prezent în șirul de potrivire.
Example : We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be present in the name of file format.>
7. Simbolul caret ( ^ ). ( Setarea poziției pentru meci)
Simbolul caret îi spune computerului că potrivirea trebuie să înceapă la începutul șirului sau al liniei.
Example : ^d{3} will match with patterns like '901' in '901-333-'.> 8. Simbolul dolarului ( $ ).
Îi spune computerului că potrivirea trebuie să aibă loc la sfârșitul șirului sau înainte de la sfârșitul liniei sau șirului.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.> 9. Clasele de caractere
O clasă de caractere se potrivește cu oricare dintr-un set de caractere. Este folosit pentru a potrivi cel mai elementar element al unei limbi, cum ar fi o literă, o cifră, un spațiu, un simbol etc.
procesare paralelă
s : se potrivește cu orice caractere de spațiu alb, cum ar fi spațiu și tab.
S : se potrivește cu orice caractere care nu fac spații albe.
d : se potrivește cu orice caracter cifră.
D: se potrivește cu orice caractere fără cifre.
În : se potrivește cu orice caracter de cuvânt (în principiu alfanumeric)
ÎN : se potrivește cu orice caracter non-cuvânt.
: se potrivește cu orice limită de cuvânt (acest lucru ar include spații, liniuțe, virgule, punct și virgulă etc.
[set_of_characters]: Se potrivește cu orice caracter din set_of_characters. În mod implicit, potrivirea este sensibilă la majuscule.
Example : [abc] will match characters a,b and c in any string.>
10. [^set_of_characters] Negare:
Se potrivește cu orice caracter care nu se află în set_of_characters. În mod implicit, potrivirea este sensibilă la majuscule.
Example : [^abc] will match any character except a,b,c .>
11. [primul-ultimul] Gama de caractere:
Se potrivește cu orice caracter individual din intervalul de la primul la ultimul.
Example : [a-zA-z] will match any character from a to z or A to Z.>
12. Simbolul de evadare ( )
Dacă doriți să potriviți caracterele reale „+”, „.” etc., adăugați o bară oblică inversă ( ) înaintea caracterului respectiv. Acest lucru va spune computerului să trateze următorul caracter ca un caracter de căutare și să îl considere pentru un model de potrivire.
Example : d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>
13. Gruparea caracterelor ( )
Un set de simboluri diferite ale unei expresii regulate poate fi grupat împreună pentru a acționa ca o singură unitate și a se comporta ca un bloc, pentru aceasta, trebuie să înfășurați expresia regulată în paranteză ( ).
Example : ([A-Z]w+) contains two different elements of the regular expression combined together. This expression will match any pattern containing uppercase letter followed by any character.>
14. Bară verticală ( | )
Se potrivește cu orice element separat de caracterul bară verticală (|).
Example : th(e|is|at) will match words - the, this and that.>
15. umăr
Referință din spate: permite ca o sub-expresie potrivită anterior (expresie capturată sau cuprinsă între paranteze circulare) să fie identificată ulterior în aceeași expresie regulată. înseamnă că grupul inclus în a n-a paranteză va fi repetat în poziția curentă.
pentru buclă java
Example : ([a-z])1 will match ee in Geek because the character at second position is same as character at position 1 of the match.>
16. Cum ( ?# comentariu )
Comentariu în linie: comentariul se termină la prima paranteză de închidere.
Example : A(?#This is an inline comment)w+>
17. # [la sfârșitul rândului]
Comentariu în modul X. Comentariul începe la un # fără escape și continuă până la sfârșitul rândului.
Example : (?x)Aw+#Matches words starting with A>