Linha 1: | Linha 1: | ||
== Expressão Regular == | == Expressão Regular == | ||
− | Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de | + | Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de sequências de caracteres é dito ser correspondido pela expressão regular. Alguns caracteres (ex: ^,.,{},[],\) têm um significado especial quando usado em uma expressão regular; outros caráteres significam eles mesmos. |
Linha 9: | Linha 9: | ||
− | * '''$ Cifra ou simbolo de | + | * '''$ Cifra ou simbolo de dólar ''' |
Corresponde ao final do regex | Corresponde ao final do regex | ||
Linha 20: | Linha 20: | ||
− | * '''() | + | * '''() Parêntesis ''' |
Corresponde a um agrupamento de entrada | Corresponde a um agrupamento de entrada | ||
Linha 30: | Linha 30: | ||
Corresponde a um agrupamento de entrada | Corresponde a um agrupamento de entrada | ||
− | Por exemplo [1234], significa que a entrada deve ter um dos | + | Por exemplo [1234], significa que a entrada deve ter um dos números informados (1,2,3 ou 4) |
* '''- Traço ou sinal de menos ''' | * '''- Traço ou sinal de menos ''' | ||
Linha 53: | Linha 53: | ||
A entrada deve corresponder m vezes | A entrada deve corresponder m vezes | ||
− | Por exemplo [0-9]{8}, qualquer número que tenha 8 | + | Por exemplo [0-9]{8}, qualquer número que tenha 8 dígitos de 0 a 9 |
Linha 59: | Linha 59: | ||
A entrada deve corresponder m vezes até o infinito. | A entrada deve corresponder m vezes até o infinito. | ||
− | Por exemplo [0-9]{4,}, qualquer número que tenha no minimo 4 | + | Por exemplo [0-9]{4,}, qualquer número que tenha no minimo 4 dígitos de 0 a 9, sem limite máximo |
Linha 65: | Linha 65: | ||
A entrada deve corresponder m vezes até n | A entrada deve corresponder m vezes até n | ||
− | Por exemplo [0-9]{1,4}, qualquer número que tenha entre 1 a 4 | + | Por exemplo [0-9]{1,4}, qualquer número que tenha entre 1 a 4 dígitos, de 0 a 9 |
Linha 71: | Linha 71: | ||
Uma expressão seguida de ?, significa que ela pode ou não tem essa entrada. | Uma expressão seguida de ?, significa que ela pode ou não tem essa entrada. | ||
− | Por exemplo (067)?[0-9]{8}, qualquer número que | + | Por exemplo (067)?[0-9]{8}, qualquer número que comece ou não com 067 seguido de 8 dígitos de 0 a 9 |
* '''| Pipe ou barra reta ''' | * '''| Pipe ou barra reta ''' | ||
− | Uma | + | Uma expressão separada com |, serve para informar que o valor deve ser uma ou outra entrada. |
Por exemplo (067|066)40041001, o número 40041001, precedido por 067 ou 066 Por exemplo (067|066)?40041001, o número 40041001, precedido ou não por 067 ou 066 | Por exemplo (067|066)40041001, o número 40041001, precedido por 067 ou 066 Por exemplo (067|066)?40041001, o número 40041001, precedido ou não por 067 ou 066 | ||
Linha 84: | Linha 84: | ||
− | * Qualquer número que tenha exatamente 8 (oito) | + | * Qualquer número que tenha exatamente 8 (oito) dígitos |
<pre> | <pre> | ||
Linha 93: | Linha 93: | ||
^(........)$ - qualquer entrada que tenha 8 caracteres, do começo ao fim - recomendado pois agrupa os valores | ^(........)$ - qualquer entrada que tenha 8 caracteres, do começo ao fim - recomendado pois agrupa os valores | ||
^........$ - qualquer entrada que tenha 8 caracteres, do começo ao fim, similar a opção acima | ^........$ - qualquer entrada que tenha 8 caracteres, do começo ao fim, similar a opção acima | ||
− | ........ - qualquer entrada que tenha 8 caracteres, no minimo | + | ........ - qualquer entrada que tenha 8 caracteres, no minimo - não recomendado |
</pre> | </pre> | ||
Linha 102: | Linha 102: | ||
^([0-9]{1,8})$ - qualquer número que tenha entre 1 e 8 dígitos - agrupando os dígitos - recomendado pois agrupa os valores | ^([0-9]{1,8})$ - qualquer número que tenha entre 1 e 8 dígitos - agrupando os dígitos - recomendado pois agrupa os valores | ||
^[0-9]{1,8}$ - qualquer número que tenha entre 1 e 8 dígitos - sem agrupar os dígitos, similar a opção acima | ^[0-9]{1,8}$ - qualquer número que tenha entre 1 e 8 dígitos - sem agrupar os dígitos, similar a opção acima | ||
− | [0-9]{1,8} - qualquer número que tenha entre 1 e 8 dígitos, no minimo | + | [0-9]{1,8} - qualquer número que tenha entre 1 e 8 dígitos, no minimo - não recomendado |
</pre> | </pre> | ||
Linha 113: | Linha 113: | ||
^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima | ^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima | ||
^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima | ^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima | ||
− | 067........ - qualquer número que comece com 067, precedido por 8 caracteres, no minimo | + | 067........ - qualquer número que comece com 067, precedido por 8 caracteres, no minimo - não recomendado |
</pre> | </pre> | ||
Linha 120: | Linha 120: | ||
<pre> | <pre> | ||
− | ^(067)?([0-9]{8})$ - qualquer número que comece ou não com 067, precedido por 8 dígitos | + | ^(067)?([0-9]{8})$ - qualquer número que comece ou não com 067, precedido por 8 dígitos - recomendado pois agrupa os valores |
− | (067)?........ - qualquer número que comece ou não com 067, precedido por 8 caracteres, no minimo | + | (067)?........ - qualquer número que comece ou não com 067, precedido por 8 caracteres, no minimo - não recomendado |
</pre> | </pre> | ||
Linha 128: | Linha 128: | ||
<pre> | <pre> | ||
− | ^(066|067|068)?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos | + | ^(066|067|068)?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores |
− | ^(06[678])?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos | + | ^(06[678])?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores |
− | ^(06(6|7|8))?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos | + | ^(06(6|7|8))?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores |
</pre> | </pre> | ||
Linha 153: | Linha 153: | ||
^(553..)$ - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] | ^(553..)$ - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] | ||
− | 553.. - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] - | + | 553.. - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] - não recomendado |
</pre> | </pre> |
Edição das 00h31min de 10 de março de 2015
Expressão Regular
Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de sequências de caracteres é dito ser correspondido pela expressão regular. Alguns caracteres (ex: ^,.,{},[],\) têm um significado especial quando usado em uma expressão regular; outros caráteres significam eles mesmos.
- ^ Circunflexo
Corresponde ao começo do regex, exceto quando informado dentro de [], que passa a ser uma negação dos valores
- $ Cifra ou simbolo de dólar
Corresponde ao final do regex
- . Ponto
Corresponde a qualquer caractere Por exemplo (....), qualquer entrada que tenha 4 caracteres
- () Parêntesis
Corresponde a um agrupamento de entrada Por exemplo (40041001), significa que a entrada deve ser 40041001 Por exemplo (067), significa que a entrada deve ser 067
- [] Colchetes
Corresponde a um agrupamento de entrada Por exemplo [1234], significa que a entrada deve ter um dos números informados (1,2,3 ou 4)
- - Traço ou sinal de menos
Usado para informar um range de caracteres
Por exemplo [3-7] é equivalente a [34567]
- * Asterisco
Uma expressão seguida de *, significa, nenhuma ou varias vezes Por exemplo [0-9]*, equivalente a entrada vazia ou a repetição infinita de valores, Essa entrada equivale a [0,9]{0,}
- + Sinal de mais
Uma expressão seguida de +, significa, uma ou mais vezes Por exemplo [0-9]+, equivalente a [0-9][0-9]*. Essa entrada equivale a [0,9]{1,}
- {m} Chaves com um numero
A entrada deve corresponder m vezes Por exemplo [0-9]{8}, qualquer número que tenha 8 dígitos de 0 a 9
- {m,} Chave com um numero e virgula
A entrada deve corresponder m vezes até o infinito. Por exemplo [0-9]{4,}, qualquer número que tenha no minimo 4 dígitos de 0 a 9, sem limite máximo
- {m,n} Chaves com um numero, virgula e outro numero
A entrada deve corresponder m vezes até n Por exemplo [0-9]{1,4}, qualquer número que tenha entre 1 a 4 dígitos, de 0 a 9
- ? Sinal de interrogação
Uma expressão seguida de ?, significa que ela pode ou não tem essa entrada. Por exemplo (067)?[0-9]{8}, qualquer número que comece ou não com 067 seguido de 8 dígitos de 0 a 9
- | Pipe ou barra reta
Uma expressão separada com |, serve para informar que o valor deve ser uma ou outra entrada. Por exemplo (067|066)40041001, o número 40041001, precedido por 067 ou 066 Por exemplo (067|066)?40041001, o número 40041001, precedido ou não por 067 ou 066
Exemplos
- Qualquer número que tenha exatamente 8 (oito) dígitos
^([0-9]{8})$ - qualquer dígito que se repita 8 vezes - agrupando os dígitos - recomendado pois agrupa os valores ^[0-9]{8}$ - qualquer dígito que se repita 8 vezes - sem agrupar os dígitos, similar a opção acima [0-9]{8} - qualquer dígito que se repita 8 vezes - sem agrupar os dígitos, similar a opção acima ^.{8}$ - qualquer carácter que se repita 8 vezes ^(........)$ - qualquer entrada que tenha 8 caracteres, do começo ao fim - recomendado pois agrupa os valores ^........$ - qualquer entrada que tenha 8 caracteres, do começo ao fim, similar a opção acima ........ - qualquer entrada que tenha 8 caracteres, no minimo - não recomendado
- Qualquer número que tenha no minimo 1 (um) e no máximo 8 (oito) dígitos
^([0-9]{1,8})$ - qualquer número que tenha entre 1 e 8 dígitos - agrupando os dígitos - recomendado pois agrupa os valores ^[0-9]{1,8}$ - qualquer número que tenha entre 1 e 8 dígitos - sem agrupar os dígitos, similar a opção acima [0-9]{1,8} - qualquer número que tenha entre 1 e 8 dígitos, no minimo - não recomendado
Qualquer número que tenha exatamente 8 (oito) dígitos, e comece com 067
^(067)([0-9]{8})$ - qualquer número que tenha entre 1 e 8 dígitos, e comece com 067 - recomendado pois agrupa os valores ^(067)(........)$ - qualquer número que tenha entre 1 e 8 caracteres, e comece com 067, similar a opção acima ^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima ^067........$ - qualquer número que comece com 067, precedido por 8 caracteres, similar a opção acima 067........ - qualquer número que comece com 067, precedido por 8 caracteres, no minimo - não recomendado
Qualquer número que tenha exatamente 8 (oito) dígitos, e comece ou não com 067
^(067)?([0-9]{8})$ - qualquer número que comece ou não com 067, precedido por 8 dígitos - recomendado pois agrupa os valores (067)?........ - qualquer número que comece ou não com 067, precedido por 8 caracteres, no minimo - não recomendado
Qualquer número que tenha exatamente 8 (oito) dígitos, e comece ou não com 066, 067 ou 068
^(066|067|068)?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores ^(06[678])?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores ^(06(6|7|8))?([0-9]{8})$ - qualquer número que comece ou não com 066, 067 ou 068, precedido por 8 dígitos - recomendado pois agrupa os valores
Qualquer número que tenha exatamente 8 (oito) dígitos, precedido pelo 9 (nove) e comece ou não com o DDD
^(0[0-9]{2})?(9)?([0-9]{8})$ - qualquer número que comece ou não com 0 + DDD, precedido ou não por 9, e 8 dígitos. - recomendado pois agrupa os valores ^(0..)?(9)?(........)$ - qualquer número que comece ou não com 0 + DDD, precedido ou não por 9, e 8 caracteres, similar a opção acima
Qualquer número que tenha 5 dígitos, mais utilizado por RN1 (Route Number)
^(55320)$ - Qualquer número que tenha 5 dígitos e é igual a 55320, [[Voipr/Aplicativos/Route Number|RN1 da VIVO]] ^55320|55341$ - Qualquer número que tenha 5 dígitos e é igual a 55320 [[Voipr/Aplicativos/Route Number|RN1 da VIVO]] ou 55341 [[Voipr/Aplicativos/Route Number|RN1 da TIM]] ^(553..)$ - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] 553.. - Qualquer número que tenha 5 dígitos e comece com 553, [[Voipr/Aplicativos/Route Number|RN1 das operadoras de celular]] - não recomendado