O corpo de uma expressão regular.
Símbolos especiais são usados em expressões regulares. Abaixo apresentarei brevemente os vários símbolos, seus significados e uso (nota: "X e acima incluem X"):
/ indica que o texto a seguir é um símbolo especial. Exemplo: "n" e "n" são consistentes. "/n" é igual ao caractere de nova linha.
^ coincide com o início da entrada.
$ corresponde ao final da entrada.
* Se os caracteres antes deste símbolo forem iguais 0 ou mais vezes, eles são consistentes. Exemplo: "zo*" é consistente com "zoo" e "z".
+ Se os caracteres antes deste símbolo forem iguais mais de uma vez, eles são consistentes. Exemplo: "zo*" é consistente com "zoo", mas inconsistente com "z".
? Se os caracteres antes deste símbolo forem iguais 0 ou 1 vezes, eles são consistentes. Exemplo: "a?ve?" é consistente com "ve" em "nunca".
. Consistente com todos os literais únicos, exceto novas linhas.
(Expressão regular) Encontre texto correspondente usando a expressão especificada. Se encontrado, salve-o. A parte consistente pode ser obtida por
Encontrado no array obtido pelo método Match.
Se qualquer um de x|yx e y for igual, será considerado consistente. Exemplo: "(z|f)ood" é consistente com "zood" e "food".
{n} n é um número inteiro acima de 0. Se for igual ao texto anterior n vezes, os dois são consistentes. Exemplo: O "o" em "o{2}" e "Bob" são diferentes
Consistente com os dois primeiros "o" em "foooood".
{n,} n é um número inteiro acima de 0. Deve ser consistente com o texto anterior pelo menos n vezes.
{n,m} Ambos os números inteiros. Os graus no intervalo n a m são consistentes.
[xyz] é considerado consistente se for igual a qualquer um dos caracteres entre colchetes.
[^xyz] é o oposto do acima.
[az] O intervalo de caracteres de "a" a "z" é considerado consistente.
[^az] Ao contrário do acima.
/b indica o final de uma palavra. Exemplo: “er/b” é consistente com o “er” de “nunca”, mas inconsistente com o “er” de “verbo”.
/B indica o final de uma não palavra.
/d representa um número.
/D não significa um número.
/s significa espaço.
/S significa não espaço.
/w significa todos os caracteres alfanuméricos.
/W significa nem todos os caracteres alfanuméricos.
eu (ignorar maiúsculas e minúsculas)
g (Encontre todas as ocorrências do padrão no texto completo)
gi (pesquisa de texto completo, ignorar maiúsculas e minúsculas)
/num num deve receber um número positivo. Compare com a parte já armazenada. Exemplo: "(.)/1" é igual a quaisquer dois consecutivos
O texto é consistente.
2. Como definir o texto principal de uma frase:
Método 1: escreva diretamente
var s=/expressão regular/i ou g ou ig
Método 2: Crie uma instância de objeto:
var s=new RegExp(expressão regular, i ou g ou ig)
Três métodos relacionados a expressões regulares:
1 método executivo
Descrição: Pesquise dentro de uma linha de texto especificada.
Estrutura: expressão regular.exec(string).
Explicação: A pesquisa retorna:
nulo não recuperado;
Depois que resultados consistentes forem recuperados;
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('g','i');
var a=r.exec(s);
alerta(a);
</script>
2 método de compilação:
Descrição: Modifica a forma interna da representação regular.
Estrutura: Expressão regular.compile('text','g ou i ou ig').
Comentário: Não há muito a dizer.
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[AZ]','g');
var a=s.match(r);
alerta(a);
r.compile('[az]','g');
var a=s.match(r);
alerta(a);
</script>
3 método de teste:
Descrição: Como o nome sugere, faça testes.
Estrutura: expressão regular.test(string).
Comentário: Retorno:
falso não encontrado;
verdadeiro encontrado;
exemplo:
O trecho de código é o seguinte:
<roteiro>
var re=/re/g;
var mensagem='retornar';
var msg1='goon';
alerta(re.teste(msg));
alerta(re.teste(msg1));
</script>
4 método de substituição:
Descrição: Encontre o consistente e substitua-o.
Estrutura: string.replace (expressão regular, string de substituição).
Explicação: A string permanece inalterada e sua cópia é retornada.
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[AZ]','g');
var a=s.replace(/[az]/g,'A');
alerta(a);
</script>
5 métodos de correspondência:
Descrição: Faça uma pesquisa.
Estrutura: string.match (expressão regular).
Explicação: Retorne a sequência.
exemplo:
O trecho de código é o seguinte:
<roteiro>
var re=/re/g;
var msg='rererere';
var msg1='goon';
alerta(msg.match(re));
alerta(msg1.match(re));
</script>
6 método de divisão:
Descrição: Divida uma string.
Estrutura: String.split (expressão regular).
Explicação: Retorne a sequência.
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s="olá, mundo bom";
varp=//s/g;
var a=s.split(p);
alerta(a);
</script>
7 método de pesquisa:
Descrição: Retorna a posição de uma string consistente. (Isso é muito mais versátil que indexOf!)
Estrutura: string.search(expressão regular).
Comentário: Retorno
Inteiro positivo se encontrado
-1 se não for encontrado
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s="olá, mundo bom";
var p=/bom/g;
var a=s.search(p);
alerta(a);
</script>
Mude o exemplo do método replace:
O trecho de código é o seguinte:
<roteiro>
var s="infernoOSCF";
var r=new RegExp("[AZ]","g");
s=s.replace(r,"a");
alerta(s)
</script>
Finalmente, existem seus vários atributos
1 atributo lastIndex:
Descrição: Defina a posição inicial da pesquisa e obtenha seu valor
Estrutura: expressão regular.lastIndex(=valor).
Comentário:
Quando lastIndex for maior que o comprimento do texto recuperado, se executado usando os métodos test ou exec, a execução falhará.
A propriedade lastIndex é definida como 0.
Quando lastIndex é igual ao comprimento do texto de pesquisa, se o corpo da expressão estiver vazio, é consistente.
A execução falhou e foi redefinida para 0.
Em casos diferentes dos acima, lastIndex será definido como o ponteiro de posição da última string de texto consistente.
2 atributo de origem
Descrição: Retorna o texto da expressão regular
Estrutura: expressão regular.fonte
exemplo:
O trecho de código é o seguinte:
<roteiro>
var s=/[az]{3}/W/s/g;
var s1=new RegExp("[az]{3}/W","g");
alerta(s.fonte);
alerta(s1.fonte);
</script>
Abaixo escreverei várias funções de processamento de caracteres:
1 Números são estritamente proibidos
O trecho de código é o seguinte:
verificação de função(mensagem){
varexe=//d/g;
if(exe.test(msg))return(0);
senão retorne (1)
}
2 letras apenas
O trecho de código é o seguinte:
verificação de função(mensagem){
var exe=//W/g;
if(exe.test(msg))return(0);
senão return(1);
}
3 Códigos estritamente proibidos
O trecho de código é o seguinte:
verificação de função(mensagem){
var exe=/<(/w|/W)*>/g;
if(exe.test(msg))return(0);
senão return(1);