Una expressió regular (regex) és una seqüència de caràcters que defineixen un patró de cerca. A continuació, es mostra com escriure expressions periòdiques:
- Comença per comprendre els caràcters especials utilitzats en regex com ara ". '*' '+' '?' i més.
- Trieu un llenguatge o una eina de programació que admeti Regex com Python Perl o Grep.
- Escriviu el vostre patró mitjançant els caràcters especials i els caràcters literals.
- Utilitzeu la funció o el mètode adequats per cercar el patró en una cadena.
Exemples:
- Per combinar una seqüència de caràcters literals, només escriviu aquests personatges del patró.
- Per combinar un sol personatge d’un conjunt de possibilitats, utilitzeu claudàtors, p. [0123456789] coincideix amb qualsevol dígit.
- Per coincidir amb zero o més ocurrències de l'expressió precedent, utilitzeu el símbol STAR (*).
- Per coincidir amb una o més ocurrències de l'expressió anterior, utilitzeu el símbol Plus (+).
- És important tenir en compte que Regex pot ser complex i difícil de llegir, per la qual cosa es recomana utilitzar eines com Regex Testers per depurar i optimitzar els vostres patrons.
Una expressió regular (de vegades anomenada expressió racional) és una seqüència de caràcters que defineixen un patró de cerca principalment per utilitzar -los en la coincidència de patrons amb cadenes o coincidències de cadenes, és a dir, "trobar i substituir" com a operacions. Les expressions regulars són una forma generalitzada de combinar els patrons amb seqüències de caràcters. S'utilitza en tots els llenguatges de programació com C ++ Java i Python.
Què és una expressió regular i què la fa tan important?
Regex s'utilitza a Google Analytics En la concordança de l'URL en el suport de la cerca i substitueix en la majoria dels editors populars com Sublime Notepad ++ Brackets Google Docs i Microsoft Word.
Example : Regular expression for an email address :
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$
L’expressió regular anterior es pot utilitzar per comprovar si un conjunt de caràcters determinat és una adreça de correu electrònic o no.
Com escriure expressions regulars?
Hi ha certs elements que s’utilitzen per escriure expressions regulars com s’esmenta a continuació:
1. Repetidors (* + i {})
Aquests símbols actuen com a repetidors i diuen a l’ordinador que el caràcter precedent s’ha d’utilitzar durant més d’una vegada.
2. El símbol de l'asterisc ( *)
Indica a l’ordinador que coincideixi amb el caràcter anterior (o el conjunt de caràcters) durant 0 o més vegades (fins a Infinite).
imatges de reducció
Example : The regular expression ab*c will give ac abc abbc abbbc….and so on 3. El símbol més ( +)
Es diu a l’ordinador que repeteixi el caràcter anterior (o el conjunt de caràcters) en almenys una o més vegades (fins a Infinite).
Example : The regular expression ab+c will give abc abbc
abbbc … and so on.
4. Les claus arrissades {...}
Es diu a l’ordinador que repeteixi el caràcter anterior (o el conjunt de caràcters) durant tantes vegades com el valor dins d’aquest bracket.
Example : {2} means that the preceding character is to be repeated 2
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.
5. Comodí (.)
El símbol DOT pot ocupar el lloc de qualsevol altre símbol, és per això que s’anomena personatge de comodins.
Example :
The Regular expression .* will tell the computer that any character
can be used any number of times.
6. Personatge opcional (?)
Aquest símbol indica a l’ordinador que el caràcter precedent pot o no estar present a la cadena que es pot combinar.
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. El símbol de cura ( ^) ( Posició de configuració per al partit)
El símbol de cura indica a l’ordinador que la coincidència ha de començar al començament de la cadena o de la línia.
Example : ^d{3} will match with patterns like '901' in '901-333-'.8. El símbol del dòlar ($)
Diu a l’ordinador que la coincidència s’ha de produir al final de la cadena o abans N al final de la línia o la cadena.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.9. Classes de personatges
Una classe de personatges coincideix amb qualsevol conjunt de personatges. S'utilitza per coincidir amb l'element més bàsic d'un idioma com una lletra un dígit un espai un símbol, etc.
s : coincideix amb els caràcters d'espai en blanc com l'espai i la pestanya.
S : coincideix amb els caràcters que no siguin del WhiteSpace.
d : coincideix amb qualsevol personatge de dígits.
D: coincideix amb els caràcters no dígits.
Dins de : coincideix amb qualsevol personatge de paraules (bàsicament alfa-numèric)
Dins de : coincideix amb qualsevol personatge que no sigui de paraula.
B : coincideix amb qualsevol límit de paraules (això inclouria els espais guionats comes semicolons, etc.
[set_of_characters]: Coincideix amb qualsevol personatge únic a set_of_characters. De manera predeterminada, la coincidència és sensible al cas.
Example : [abc] will match characters ab and c in any string.10. [^Set_of_characters] Negació:
Coincideix amb qualsevol caràcter que no estigui a Set_of_Characters. De manera predeterminada, la coincidència és sensible al cas.
Example : [^abc] will match any character except abc .11. [First-Last] Gamma de personatges:
Coincideix amb qualsevol personatge únic del rang de primer a últim.
Example : [a-zA-z] will match any character from a to z or A to Z.12. El símbol d’escapament ()
Si voleu coincidir amb els caràcters reals "+". Això dirà a l’ordinador que tracti el personatge següent com un personatge de cerca i el considerarà un patró de concordança.
màquina virtual java
Example : d+[+-x*]d+ will match patterns like '2+2'
and '3*9' in '(2+2) * 3*9'.
13. Agrupació de caràcters ()
Es pot agrupar un conjunt de símbols diferents d’una expressió regular per actuar com a unitat única i comportar -se com a bloc per a això, heu d’embolicar l’expressió regular del parèntesi ().
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. Barra vertical (|)
Coincideix amb qualsevol element separat per la barra vertical (|).
Example : th(e|is|at) will match words - the this and that.15. Número
Backreference: Permet identificar una subexpressió anteriorment coincidida (expressió capturada o tancada dins de claudàtors) posteriorment en la mateixa expressió regular. N significa que el grup tancat dins del suport N-Th es repetirà a la posició actual.
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. Com (?# Comentari)
Comentari en línia: el comentari finalitza al primer parèntesi de tancament.
Example : bA(?#This is an inline comment)w+b17. # [al final de la línia]
Comentari en mode X. El comentari comença en un # no estancat i continua fins al final de la línia.
Example : (?x)bAw+b#Matches words starting with A