Mudanças entre as edições de "Voipr/Manual/Regex"

De BrByte Wiki
< Voipr‎ | Manual
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})$