Linha 1: | Linha 1: | ||
+ | == Expressão Regular == | ||
+ | |||
Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de seqüê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. | Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de seqüê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 ''' | * '''^ Circunflexo ''' | ||
Corresponde ao começo do regex, exceto quando informado dentro de [], que passa a ser uma negação dos valores | Corresponde ao começo do regex, exceto quando informado dentro de [], que passa a ser uma negação dos valores | ||
+ | |||
* '''$ Cifra ou simbolo de dolar ''' | * '''$ Cifra ou simbolo de dolar ''' | ||
Corresponde ao final do regex | Corresponde ao final do regex | ||
+ | |||
* '''. Ponto ''' | * '''. Ponto ''' | ||
Linha 13: | Linha 18: | ||
Corresponde a qualquer caractere | Corresponde a qualquer caractere | ||
Por exemplo (....), qualquer entrada que tenha 4 caracteres | Por exemplo (....), qualquer entrada que tenha 4 caracteres | ||
+ | |||
* '''() Parentesis ''' | * '''() Parentesis ''' | ||
Linha 19: | Linha 25: | ||
Por exemplo (40041001), significa que a entrada deve ser 40041001 | Por exemplo (40041001), significa que a entrada deve ser 40041001 | ||
Por exemplo (067), significa que a entrada deve ser 067 | Por exemplo (067), significa que a entrada deve ser 067 | ||
+ | |||
* '''[] Colchetes ''' | * '''[] Colchetes ''' | ||
Linha 26: | Linha 33: | ||
* '''- Traço ou sinal de menos ''' | * '''- Traço ou sinal de menos ''' | ||
+ | |||
Usado para informar um range de caracteres | Usado para informar um range de caracteres | ||
Linha 34: | Linha 42: | ||
Uma expressão seguida de *, significa, nenhuma ou varias vezes | 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,} | 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 ''' | * '''+ Sinal de mais ''' | ||
Linha 39: | Linha 48: | ||
Uma expressão seguida de +, significa, uma ou mais vezes | 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,} | Por exemplo [0-9]+, equivalente a [0-9][0-9]*. Essa entrada equivale a [0,9]{1,} | ||
+ | |||
* '''{m} Chaves com um numero ''' | * '''{m} Chaves com um numero ''' | ||
Linha 44: | Linha 54: | ||
A entrada deve corresponder m vezes | A entrada deve corresponder m vezes | ||
Por exemplo [0-9]{8}, qualquer número que tenha 8 digitos de 0 a 9 | Por exemplo [0-9]{8}, qualquer número que tenha 8 digitos de 0 a 9 | ||
+ | |||
* '''{m,} Chave com um numero e virgula ''' | * '''{m,} Chave com um numero e virgula ''' | ||
Linha 49: | Linha 60: | ||
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 digitos de 0 a 9, sem limite máximo | Por exemplo [0-9]{4,}, qualquer número que tenha no minimo 4 digitos de 0 a 9, sem limite máximo | ||
+ | |||
* '''{m,n} Chaves com um numero, virgula e outro numero ''' | * '''{m,n} Chaves com um numero, virgula e outro numero ''' | ||
Linha 54: | Linha 66: | ||
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 digitos, de 0 a 9 | Por exemplo [0-9]{1,4}, qualquer número que tenha entre 1 a 4 digitos, de 0 a 9 | ||
+ | |||
* '''? Sinal de interrogação ''' | * '''? Sinal de interrogação ''' | ||
Linha 59: | Linha 72: | ||
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 começe ou não com 067 seguido de 8 digitos de 0 a 9 | Por exemplo (067)?[0-9]{8}, qualquer número que começe ou não com 067 seguido de 8 digitos de 0 a 9 | ||
+ | |||
* '''| Pipe ou barra reta ''' | * '''| Pipe ou barra reta ''' | ||
Linha 64: | Linha 78: | ||
Uma explessão separada com |, serve para informar que o valor deve ser uma ou outra entrada. | Uma explessã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 | ||
+ | |||
+ | |||
+ | |||
+ | == Exemplos == | ||
+ | |||
+ | |||
+ | * Qualquer número que tenha exatamente 8 (oito) digitos | ||
+ | |||
+ | <pre> | ||
+ | ^([0-9]{8})$ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * Qualquer número que tenha no minimo 1 (um) e no máximo 8 (oito) digitos | ||
+ | |||
+ | <pre> | ||
+ | ^([0-9]{1,8})$ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) digitos, e começe com 067 | ||
+ | |||
+ | <pre> | ||
+ | ^(067)([0-9]{8})$ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) digitos, e começe ou não com 067 | ||
+ | |||
+ | <pre> | ||
+ | ^(067)?([0-9]{8})$ | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) digitos, e começe ou não com 066, 067 ou 068 | ||
+ | |||
+ | <pre> | ||
+ | ^(066|067|068)?([0-9]{8})$ | ||
+ | |||
+ | ^(06[678])?([0-9]{8})$ | ||
+ | |||
+ | ^(06(6|7|8))?([0-9]{8})$ | ||
+ | </pre> |
Edição das 00h09min 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 seqüê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 dolar
Corresponde ao final do regex
- . Ponto
Corresponde a qualquer caractere Por exemplo (....), qualquer entrada que tenha 4 caracteres
- () Parentesis
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 numeros 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 digitos 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 digitos 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 digitos, 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 começe ou não com 067 seguido de 8 digitos de 0 a 9
- | Pipe ou barra reta
Uma explessã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) digitos
^([0-9]{8})$
- Qualquer número que tenha no minimo 1 (um) e no máximo 8 (oito) digitos
^([0-9]{1,8})$
Qualquer número que tenha exatamente 8 (oito) digitos, e começe com 067
^(067)([0-9]{8})$
Qualquer número que tenha exatamente 8 (oito) digitos, e começe ou não com 067
^(067)?([0-9]{8})$
Qualquer número que tenha exatamente 8 (oito) digitos, e começe ou não com 066, 067 ou 068
^(066|067|068)?([0-9]{8})$ ^(06[678])?([0-9]{8})$ ^(06(6|7|8))?([0-9]{8})$