Una Expressió
Regular (abreujada com regexp o regex, amb regexps de formes plurals, regexes, o regexen ) és una corda que descriu o lliga amb un conjunt de cordes, segons certes regles de sintaxi. Les expressions regulars són utilitzades per molts editors de
text i utilitats per buscar i per manipular cossos de text basat en certs dibuixos. Moltes llengües de programació donen suport a expressions regulars per a la manipulació de corda. Per exemple, el Perl i Tcl tenen un motor d'expressió regular fort construït directament a la seva sintaxi. El conjunt d'utilitats (incloent-hi el
sed d'editor i el
grep de filtre ) proporcionades per distribucions
d'Unix eren les primeres per popularitzar el concepte d'expressions regulars.
Una expressió regular, sovint anomenada un dibuix, és una expressió que descriu un conjunt de cordes. S'utilitzen normalment per donar una descripció concisa d'un conjunt, sense haver de llistar tots els elements. Per exemple, contenint el conjunt les tres cordes Handel, Händel, i Haendel poden ser descrits pel dibuix "H(ä|ae? )ndel" (o alternativament, es diu que el dibuix lliga amb cada un de les tres cordes). La majoria dels formalisms proporcionen les operacions següents per construir expressions regulars.
- alternança
- Un bar vertical separa alternatives. Per exemple, "gray|grey" lliga amb gris o gris, que es pot comunament escurçar a "gr(a|e)y".
agrupant-se- Els parèntesis s'utilitzen per definir l'abast i precedència dels operadors. Per exemple, el "gray|grey" i "gr(a|e)y" són dibuixos diferents, però tant descriuen el gris que conté posat com encanudeixen.
quantification- Un quantificador després d'un caràcter o grup especifica cada quan es deixa aquella expressió anterior ocórrer. Els quantificadors més comuns són ?, *, i +:
- ? L'interrogant indica que hi hagi 0 o 1 de l'expressió prèvia. Tant, Per exemple, els partits de "colou?r" s'enrojolen com s'enrojolen.
- *
L'asterisc indica que n'hi hagi 0, 1 o qualsevol nombre de l'expressió prèvia. Per exemple, "go*gle" lliga amb ggle, gogle, google, etc.
- + que El signe més indica que hi ha com a mínim 1 de l'expressió prèvia. Per exemple, "go+gle" lliga amb gogle, google, etc. (però no ggle ).
Aquestes construccions es poden combinar per formar expressions arbitràriament complexes, molt molt com un pot construir expressions aritmètiques dels nombres i les operacions +, -, * i /.
Com a exemple el dibuix " ((gran )*grand )?(father|mother)" partits qualsevol avantpassat: pare, mare, gran pare, gran mare, gran gran pare, gran gran mare, gran gran gran pare, gran gran gran mare, gran gran gran gran pare, gran gran gran gran mare etcètera.
Aquí és una taula per ajudar-lo a entendre com escriure Expressions Regulars. Aquesta
taula de Sintaxi d'Expressió Regular descriu i dóna un exemple dels caràcters i seqüències que es poden utilitzar.
Sintaxi d'Expressió Regular
| Caràcter
| Descripció
|
\
| Marques el pròxim caràcter o com un caràcter especial o com un literal. Per exemple, "n" lliga amb el caràcter "n". partits de "\n" un caràcter de newline. Els partits de "\\" de seqüència "\" i partits de "\( (". |
| ^
|
Partits el començament d'aportació.
|
$
| Partits l'extrem d'aportació. |
*
| Partits el caràcter anterior zero o més vegades.
Per exemple, "zo*" lliga o "amb "z" o "amb "zoo". |
+
| Partits el caràcter anterior un o més vegades.
Per exemple, "zo+" lliga amb "zoo" però no "z". |
?
| Partits el caràcter anterior zero o una vegada.
Per exemple, "a?ve"? partits el "ve" en "mai".
|
.
| Partits qualsevol caràcter solter excepte un caràcter de newline. |
| (dibuix )
| Dibuix de partits i recorda el partit. La subcadena amb què es lliga es pot recuperar de la recollida de Partits que resulta, Element que utilitza [0]...[n]. Lligar amb caràcters de parèntesis ( ), utilitzar "\(" o "\). |
x|y
| Partits o x o y.
Per exemple, "z|wood" lliga amb "z" o "bosc". (z|w)oo" lliga amb "zoo" o "bosc". |
| {n}
| n és un enter no negatiu. Partits exactament temps de n.
Per exemple, "o{2} " fa no lligar amb l'"o" dins " Bob," però lliga amb el primer dos o en "foooood". |
{n,}
| n és un enter no negatiu.
Partits com a mínim temps de n. Per exemple, "o{2} " fa no lligar amb l'"o" dins " Bob " i partits tot l'o en "foooood."
"o{1} " és equivalent a "o+". "o{0} " és equivalent a "o*".
|
{n,m}
| el m i n són enters no negatius. Partits com a mínim n i a la majoria dels temps de m. Per exemple, "o{1,3} " partits el primer tres o en "fooooood." "o{0,1} " és equivalent a "o"?.
|
[xyz]
| Un joc de caràcters.
Partits un qualsevol dels caràcters adjuntats. Per exemple, [abc] partits l'"un" en "plana".
|
[^xyz]
| Un joc de caràcters negatiu. Partits qualsevol caràcter no adjuntat. Per exemple, [^abc] partits la "pàg." en "plana".
|
[a-z]
| Una gamma de caràcters.
Partits qualsevol caràcter en la gamma especificada. Per exemple, [a-z] partits qualsevol minúscula caràcter alfabètic en la gamma "un" a través de "z". |
[^m-z]
| Una negativa caràcters de gamma. Partits qualsevol caràcter no en la gamma especificada. Per exemple, [m-z] partits qualsevol caràcter no en la gamma "m" a través de "z". |
\b
| Partits un límit de paraula, és a dir, la posició entre una paraula i un espai. Per exemple, "er\b" lliga amb l'"er" dins "mai" però no l'"er" en "el verb". |
\B
| Partits un límit no-paraula. "ea*r\B" no lliga amb l'"orella" dins "mai d'hora". |
\d
| Partits un caràcter de dígit. Equivalent a [0-9].
|
\D
| Partits un caràcter no-dígit. Equivalent a [^0-9]. |
| \f
|
Partits un caràcter de menjar de forma. |
\n
| Partits un caràcter de newline.
|
\r
| Partits un caràcter de tecla de retorn.
|
\s
| Partits qualsevol espai blanc incloent-hi espai, tabulador, menjar de forma, etc. Equivalent a [ \f\n\r\t\v].
|
\S
| Partits qualsevol caràcter espacial no blanc. Equivalent a [^ \f\n\r\t\v]. |
| \t
|
Partits un caràcter de tabulador. |
| \v
|
Partits un caràcter de tabulador vertical. |
\w
| Partits qualsevol caràcter de paraula incloent-hi subratllar.
Equivalent a [A-Za-z0-9_]. |
\W
| Partits qualsevol caràcter no-paraula. Equivalent a [^A-Za-z0-9_]. |
| \num
|
Num de partits, on num és un enter positiu. Una referència altra vegada a partits recordats. Per exemple, " (.)\1" lliga amb dos caràcters idèntics consecutius.
|
\n
| N de partits, on és n un valor d'escapada octal. Els valors d'escapada octals han de ser 1, 2, o 3 dígits molt de temps. Per exemple, el "\11" i "\011" lliguen els dos amb un caràcter de tabulador. "\0011" és l'equivalent de "\001" & "1". Els valors d'escapada octals no n'han d'excedir 256. Si fan, només els primers dos dígits comprenen l'expressió. Permet ASCII codifica per ser utilitzat en expressions regulars. |
\xn
| N de partits, on és n un valor d'escapada hexadecimal. Els valors d'escapada hexadecimals han de ser exactament dos dígits molt de temps. Per exemple, "\x41" lliga " A. "\x041" és equivalent a "\x04" & "1". Permet ASCII codifica per ser utilitzat en expressions regulars. |
Popularitat: 7% [?]
Correus Relacionats:Aprengui a Com Escriure Expressions RegularsClasse d'Expressions Regulars de PHPCurs de Scripting de Closca Lliure16 Programació eBooks per a Pitó, Cop, Regex10 Ebooks a Linux i Solaris