Voipr/Manual/Regex

De BrByte Wiki
< Voipr‎ | Manual
Revisão de 02h47min de 31 de janeiro de 2019 por Softov (discussão | contribs) (Softov moveu a página Voipr/Funcionalidades/Regex para Voipr/Manual/Regex sem deixar um redirecionamento)

Uso

O uso de regex, serve para identificar uma #Expressão Regular, ou seja padrões de entrada de valores.

Sendo utilizado no aplicativos de Redirecionamento (para detecção do número discado), Tarifa (para detecção do número discado) e Rota (para detecção do número discado e do Route Number da operadora).

^06732011173$  - identifica o número 06732011173
^067........$  - identifica o número 067XXXXXXXX

Veja mais em #Exemplos, neste tópico

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

Qualquer numero de rota que tenha 5 dígitos com exceção das rotas 55320, 55321, 55323 e 55341.

^553((2[^013])|(4[^1])|([0135-9][0-9]))$