Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
Expressões Regulares em
JavaScript :: Alternativas e agrupamento de padrões
Haverá ocasiões em
que suas expressões regulares exigirão construções
especiais a fim de alcançar um determinado resultado.
Duas destas construções são o agrupamento
e alternativas de padrões. Veja a tabela seguinte antes
de escrevermos alguns exemplos:
Símbolo
Descrição
Exemplo
(
)
Agrupa caracteres para criar
uma cláusula. Pode ser aninhado.
/(abc)+(def)/ encontra uma ou
mais ocorrências de "abc" seguida(s) por
uma ocorrência de "def".
|
Oferece alternativa para o padrão.
É similar a uma instrução "OU".
/(ab)|(cd)|(ef)/ encontra "ab" ou
"cd" ou "ef".
A tabela acima nos mostra que é possível usar
parênteses para agrupar caracteres e criar uma clausula.
Veja novamente o trecho de código que escrevemos para
verificar se um número de CPF era válido:
var pesquisa =
/^\d{3}.\d{3}.\d{3}-\d{2}$/;
Veja que temos dois grupos idênticos repetidos:
\d{3}.\d{3}.
Ora, veja um versão usando parênteses para agrupar
estes dois grupos:
(\d{3}.){2}
Veja que bastou colocar o grupo entre parênteses e especificar
quantas vezes ele deveria ocorrer. O padrão completo
ficaria assim:
var pesquisa = /^(\d{3}.){2}\d{3}-\d{2}$/;
Agora, suponhamos que você tenha que validar uma string
no formato XXX.XXX.XXX.XXX, onde o X representa uma letra do
alfabeto maiúsculo. A melhor forma é usar:
var pesquisa =
/^([A-Z]{3}.){3}[A-Z]{3}$/;
Veja como usamos os parênteses para especificar que um
caractere de A à Z deveria aparecer três vezes:
[A-Z]{3}
e ser seguido por um ponto:
[A-Z]{3}.
Em seguida, este grupo deve aparecer três vezes:
([A-Z]{3}.){3}
Para finalizar, o símbolo $ indica que a string deve
terminar com três caracteres de A à Z:
[A-Z]{3}$
Simples demais. Vamos ver agora como fornecer alternativas de
padrões. Suponhamos que você desenvolveu um sistema
que aceita URLs nos formatos "http://www.recomende.com",
"http://recomende.com" ou "www.recomende.com".
Tal expressão poderia ser escrita assim:
var
pesquisa = /^(http:\/\/www.)|(http:\/\/)|(www.)/;
Veja como usamos a barra "|" para oferecer alternativas
ao padrão. Veja o exemplo completo:
<script
type="text/JavaScript" language="JavaScript">
var pesquisa = /^(http:\/\/www.)|(http:\/\/)|(www.)/;
var URL = "http://www.recomende.com";
if(URL.match(pesquisa))
alert("A URL é válida");
else
alert("A URL não é
válida");
</script>
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.