(16 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | Uma expressão regular especifica um conjunto de sequências de caracteres. Um membro deste conjunto de | + | == 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 [[Voipr/Aplicativos/Redirecionamento|Redirecionamento]] (para detecção do número discado), [[Voipr/Aplicativos/Tarifa|Tarifa]] (para detecção do número discado) e [[Voipr/Aplicativos/Rota|Rota]] (para detecção do número discado e do [[Voipr/Aplicativos/Route Number|Route Number]] da operadora). | ||
+ | |||
+ | <pre> | ||
+ | ^06732011173$ - identifica o número 06732011173 | ||
+ | ^067........$ - identifica o número 067XXXXXXXX | ||
+ | </pre> | ||
+ | |||
+ | 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 ''' | * '''^ Circunflexo ''' | ||
Linha 5: | Linha 21: | ||
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 | ||
− | |||
− | Corresponde ao final do regex | + | * '''$ Cifra ou simbolo de dólar ''' |
+ | |||
+ | Corresponde ao final do regex | ||
+ | |||
* '''. Ponto ''' | * '''. Ponto ''' | ||
Linha 14: | Linha 32: | ||
Por exemplo (....), qualquer entrada que tenha 4 caracteres | Por exemplo (....), qualquer entrada que tenha 4 caracteres | ||
− | * '''() | + | |
+ | * '''() Parêntesis ''' | ||
Corresponde a um agrupamento de entrada | Corresponde a um agrupamento de entrada | ||
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 ''' | ||
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 ''' | ||
+ | |||
Usado para informar um range de caracteres | Usado para informar um range de caracteres | ||
Linha 34: | Linha 55: | ||
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 61: | ||
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 ''' | ||
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 |
+ | |||
* '''{m,} Chave com um numero e virgula ''' | * '''{m,} Chave com um numero e virgula ''' | ||
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 |
+ | |||
* '''{m,n} Chaves com um numero, virgula e outro numero ''' | * '''{m,n} Chaves com um numero, virgula e outro numero ''' | ||
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 |
+ | |||
* '''? Sinal de interrogação ''' | * '''? Sinal de interrogação ''' | ||
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 | ||
+ | |||
+ | |||
+ | |||
+ | == Exemplos == | ||
+ | |||
+ | |||
+ | * Qualquer número que tenha exatamente 8 (oito) dígitos | ||
+ | |||
+ | <pre> | ||
+ | ^([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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * Qualquer número que tenha no minimo 1 (um) e no máximo 8 (oito) dígitos | ||
+ | |||
+ | <pre> | ||
+ | ^([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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) dígitos, e comece com 067 | ||
+ | |||
+ | <pre> | ||
+ | ^(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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) dígitos, e comece ou não com 067 | ||
+ | |||
+ | <pre> | ||
+ | ^(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 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) dígitos, e comece ou não com 066, 067 ou 068 | ||
+ | |||
+ | <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 - 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 | ||
+ | </pre> | ||
+ | |||
+ | Qualquer número que tenha exatamente 8 (oito) dígitos, precedido pelo 9 (nove) e comece ou não com o DDD | ||
+ | |||
+ | <pre> | ||
+ | ^(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 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | Qualquer número que tenha 5 dígitos, mais utilizado por [[Voipr/Aplicativos/Route Number|RN1 (Route Number)]] | ||
+ | |||
+ | <pre> | ||
+ | ^(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 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | Qualquer numero de rota que tenha 5 dígitos com exceção das rotas 55320, 55321, 55323 e 55341. | ||
+ | |||
+ | <pre> | ||
+ | ^553((2[^013])|(4[^1])|([0135-9][0-9]))$ | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | __NOEDITSECTION__ | ||
+ | [[Category:Voipr]] | ||
+ | [[Category:Manual]] |
Edição atual tal como às 11h37min de 28 de fevereiro de 2023
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]))$