Conceitos básicos
Uma expressão regular é um padrão de texto que inclui caracteres normais (por exemplo, letras entre A a Z) e caracteres especiais (chamados "Metachars"). O padrão descreve uma ou mais strings para corresponder ao procurar texto.
Primeiro, vários editores regulares de expressão são recomendados
Debuggex: https://www.debuggex.com/
Pyregex: http://www.pyregex.com/
Regexper: http://www.regexper.com/
Expressões regulares são operações de pesquisa e substituição de string. Expressões regulares são amplamente utilizadas nos editores de texto, como expressões regulares para:
[cópia] Verifique se o texto contém a palavra característica especificada
Descubra onde as palavras características correspondentes estão localizadas no texto
Extrair informações do texto, como: substringas de strings
Modificar texto
NOTA: Expressões regulares geralmente são usadas para duas tarefas: 1. Verificação, 2. Pesquisar/substituir. Quando usado para verificação, geralmente é necessário adicionar ^ e $ antes e depois para corresponder à sequência inteira a ser verificada; Se deve adicionar essa limitação ao pesquisar/substituir depende dos requisitos de pesquisa. Além disso, também é possível adicionar /b em vez de ^ e $ antes e depois. Exceto por alguns, nenhuma restrição é adicionada antes e depois das expressões regulares comuns listadas nesta tabela. Por favor, lida com eles você mesmo conforme necessário.
Ordem prioritária
Após a construção de uma expressão regular, você pode avaliar como uma expressão matemática, ou seja, pode avaliar da esquerda para a direita e em uma ordem prioritária. A tabela a seguir lista a ordem prioritária de vários operadores de expressão regular, da maior prioridade até a menor prioridade:
| Operador | descrever |
|---|---|
| / | Símbolo de fuga |
| (), (? :), (? =), [] | Aparelho e colchetes |
| *, +,?, {n}, {n,}, {n, m} | Qualificador |
| ^, $, /Anymetacharacter | Posição e ordem |
Criar expressões regulares
O método de construção de expressões regulares é o mesmo que o método de criação de expressões matemáticas. Ou seja, use vários metacaracters e operadores para combinar pequenas expressões para criar expressões maiores.
Uma expressão regular pode ser construída colocando vários componentes do padrão de expressão entre um par de separadores.
Para o JScript, o delimitador é um par de caracteres para a frente (/). Por exemplo:
/expressão/
Para o VBScript, um par de citações ("") é usado para determinar os limites da expressão regular. Por exemplo:
A cópia do código é a seguinte:
"expressão"
Veja um exemplo
A cópia do código é a seguinte:
// corresponde se a conta é legal (começando com cartas, 5-16 bytes permitidos, subluméricos alfanuméricos permitidos
var re = novo regexp ("^[a-za-z] [a-za-z0-9 _] {5,19} $");
if (re.test (aaaa)) {
alerta ("formato correto");
}outro{
alerta ("erro de formato");
}
Os componentes de expressões regulares podem ser um único caractere, um conjunto de caracteres, uma variedade de caracteres, uma escolha entre caracteres ou qualquer combinação de todos esses componentes.
Expressões regulares comumente usadas
Expressão regular de caracteres chineses: [/u4e00-/u9fa5]
Comentário: Comparar chinês é realmente uma dor de cabeça, é fácil ver com esta expressão
Combine caracteres de byte duplo (incluindo caracteres chineses): [^/x00-/xff]
Comentário: Pode ser usado para calcular o comprimento de uma corda (um metro de comprimento de caractere de byte duplo 2, medidor de caractere ASCII 1)
Linhas em branco de expressão de expressão regular:/n/s*/r
Comentário: pode ser usado para excluir linhas em branco
EXPRESSÃO COMPRIMENTOS EXPRESSAÇÃO HTML Tags: <(/s*?) [^>]*>.*? <// 1> | <.*? />
Comentário: A versão que circula on -line é muito ruim, e a acima só pode corresponder à peça, e ainda é impotente usar marcadores aninhados complexos.
Expressão regular correspondente aos caracteres iniciantes e finais do espaço em branco: ^/s*|/s*$
Comentário: Pode ser usado para excluir os caracteres de espaço em branco no início e no final da linha (incluindo espaços, guias, quebras de página etc.), uma expressão muito útil
Expressão regular correspondente ao endereço de e-mail: /w+([-+.bor
Comentário: é muito prático ao verificar o formulário
Expressão regular URL: [A-ZA-Z]+: // [^/S]*
Comentário: As funções da versão circulando on -line são muito limitadas, e o acima pode basicamente atender às necessidades
Combine se a conta é legal (começando com letras, 5-16 bytes permitidos, sublumerados alfanuméricos permitidos): ^[a-za-z] [a-za-z0-9 _] {4,15} $
Comentário: é muito prático ao verificar o formulário
Combine o número de telefone doméstico:/d {3}-/d {8} |/d {4}-/d {7}
Comentário: Os formulários de correspondência são os seguintes: 0511-4405222 ou 021-87888822
Combine o número QQ do TENCENT: [1-9] [0-9] {4,}
Comentário: O número de QQ tencent começa em 10.000
Combine o código postal chinês: [1-9]/D {5} (?!/D)
Comentário: O código postal da China é de 6 dígitos
Match Id Card: /d {15} | /d {18}
Comentário: O cartão de identificação da China é de 15 ou 18 dígitos
Combine o endereço IP: /d+/./d+/./d+/./d+
Comentário: é útil ao extrair endereços IP
Combinar números específicos
[cópia] ^[1-9]/d*$ // Combine números inteiros positivos
^-[1-9]/d*$ // corresponde a inteiros negativos
^-? [1-9]/d*$ // corresponde a inteiros
^[1-9]/d*| 0 $ // corresponde a inteiros não negativos (número inteiro positivo + 0)
^-[1-9]/d*| 0 $ // corresponde a inteiros não positivos (números inteiros negativos + 0)
^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*$ // corresponde a números positivos de ponto flutuante
^--([1-9]/d*/./D*| 0 /./ d*[1-9]/d*) $ // corresponde a números de ponto flutuante negativo
^-? ([1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0) $ // corresponde a números de ponto flutuante
^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0 $ // corresponde a números de ponto flutuante não negativo (números positivos de ponto flutuante + 0)
^(-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*)) | 0?/. 0+ | 0 $ // corresponde a números de ponto flutuante não positivo (números de ponto flutuante negativo + 0)
Comentário: É útil ao processar grandes quantidades de dados e tenha cuidado para corrigi -los ao aplicá -los em detalhes.
Combine uma string específica
[cópia]^[a-za-z]+$ // corresponde a uma string composta por 26 cartas em inglês
^[AZ]+$ // corresponde a uma string composta por 26 letras em inglês capitalizações
^[az]+$ // corresponde a uma string composta por 26 letras em inglês minúsculas
^[A-za-z0-9]+$ // corresponde a uma string composta de números e 26 cartas em inglês
^/w+$ // corresponde a uma string composta de números, 26 cartas em inglês ou sublinhado
Comentário: algumas das expressões mais básicas e mais usadas
Mapa mental