O melhor tutorial Expressões Regulares - Exemplos em 2024. Neste tutorial você pode aprender As expressões simples,jogos de caracteres,Expressões em parênteses,Substituições e agrupamento,outros exemplos,
A forma mais simples de uma expressão regular que corresponde o seu próprio carácter único comum na cadeia de pesquisa. Por exemplo, o modo de um único caractere, como A, seja na cadeia de pesquisa onde ele sempre corresponde à letra A. O que se segue é um exemplo de um padrão de expressão regular de alguns dos caracteres simples:
/a/ /7/ /M/
Pode ser combinados em conjunto para formar um único caracteres de diversos expressões. Por exemplo, a seguinte expressão regular é uma combinação de expressões de caracteres simples: um 7 e M.
/a7M/
Observe que nenhum operador de concatenação. Basta digitar um outro personagem por trás de um personagem.
Ponto (.) Corresponde a seqüência em uma variedade de impressão e não-impressão caracteres, apenas uma exceção personagem. A exceção é o caractere de nova linha (\ n). A seguinte expressão regular corresponde aac, abc, acc, adc, etc., bem como a1c, A2C, ac, e uma # c:
/a.c/
Para corresponder a uma string contendo o nome do arquivo e o ponto (.) É parte integrante da cadeia de entrada, na frente da expressão regular no período mais o caractere de barra invertida (\). Para ilustrar, a seguinte expressão regular corresponde filename.ext:
/filename\.ext/
Estas expressões só permitem a corresponder "qualquer" caráter único. A lista pode precisar combinar conjunto de caracteres específico. Por exemplo, você pode querer encontrar títulos dos capítulos com algarismos (Capítulo 1, Capítulo 2, e assim por diante).
Para criar uma lista de grupo de caracteres de correspondência, entre colchetes ([e]) colocando um ou mais caracteres individuais dentro. Quando o personagem entre colchetes, a lista chamada "expressão de colchetes." Como em qualquer outro local, caracteres ordinários representam a si mesmos dentro de colchetes, ou seja, ele corresponde a um dos seus próprios no texto de entrada. Perdem o sentido quando você aparece na expressão suporte maioria dos caracteres especiais. Mas há algumas exceções, tais como:
Fechado em uma partida expressão de colchetes apenas uma personagem de uma expressão regular em um único caractere nessa posição. A seguinte expressão regular correspondente Capítulo 1, Capítulo 2, capítulo 3, capítulos 4 e 5:
/Chapter [12345]/
Por favor note que a localização do espaço após a palavra Capítulo e com respeito ao caráter dentro dos suportes são fixos. expressão de colchetes especifica somente coincidir com um único personagem posição imediatamente a seguir a palavra Chapter eo espaço por trás do conjunto de caracteres. Esta é a posição do carácter nono.
Para usar um intervalo em vez de os próprios personagens para representar correspondência conjunto de caracteres, use um hífen (-) no intervalo do carácter de início e caráter final separadamente. valor de caracteres para determinar a ordem relativa de caracteres individuais dentro da gama. A seguinte expressão regular contém uma expressão de intervalo, a expressão é equivalente à dos intervalos acima indicados na lista de parênteses.
/Chapter [1-5]/
Quando usado dessa maneira especificada gama, tanto os valores de início e final e estão incluídas no âmbito de aplicação. Nota É também importante, de acordo com a ordem de classificação Unicode, o valor deve começar no final dos valores anteriores.
Para incluir na expressão hífen suporte, use um dos seguintes métodos:
[\-]
[-a-z] [a-z-]
[!--] [!-~]
Para encontrar uma lista ou não no âmbito de todos os personagens, coloque o acento circunflexo (^) no início da lista. Se qualquer outro local na lista para inserir caracteres aparecem, em seguida, ele corresponde em si. A expressão regular a seguir corresponde a qualquer caractere, 4 ou 5 dígitos e mais além:
/Chapter [^12345]/
No exemplo acima, a expressão corresponde a qualquer 3, 4 ou 5 números e caracteres que não sejam na nona posição. Assim, por exemplo, Capítulo 7 é um jogo, Capítulo 9 é um jogo.
A expressão acima pode utilizar um hífen (-) para indicar:
/Chapter [^1-5]/
Um uso típico de uma expressão de colchetes é especificar todas as letras maiúsculas ou minúsculas ou qualquer número de partidas. A expressão a seguir especifica um tal jogo:
/[A-Za-z0-9]/
Substitua uso | personagem para permitir a comunicação entre duas ou mais alternativas para escolher. Por exemplo, os títulos dos capítulos podem ser estendidos expressões regulares para retornar uma gama mais ampla do que o título do capítulo corresponde. No entanto, isso não é tão simples como se poderia pensar. Substituir Jogo | caráter máxima expressão de qualquer um dos lados.
Você pode pensar que a seguinte expressão corresponde a aparecer no início e no fim da linha, seguido por um ou dois dígitos do capítulo ou da Secção:
/^Chapter|Section [1-9][0-9]{0,1}$/
Infelizmente, a expressão regular acima linhas, quer o primeiro capítulo palavra ou finais correspondentes da linha com a palavra Secção e quaisquer números subsequentes correspondentes. Se a cadeia de entrada é o capítulo 22, então a expressão acima corresponde apenas a palavra Capítulo. Se a cadeia de entrada é a Seção 22, então a expressão corresponde a Secção 22.
Para tornar as expressões regulares são mais fáceis de controlar, você pode usar parênteses para limitar o âmbito da substituição, ou seja, para garantir que ele se aplica apenas às duas palavras capítulo e da secção. No entanto, os parênteses são usados para criar uma sub-expressão, e, possivelmente, capturá-los para uso posterior, que é descrito na secção sobre referências reversa. Pelas expressões regulares acima para adicionar local parênteses, ele pode fazer a expressão regular Capítulo 1 ou Seção 3 correspondência.
A seguinte expressão regular usa parênteses para Capítulo grupo e Seção, a fim de funcionar corretamente expressão:
/^(Chapter|Section) [1-9][0-9]{0,1}$/
Embora essas expressões funcionar, mas Capítulo | Seção suportes em torno vai pegar qualquer uma das duas palavras em uma partida para uso posterior. Uma vez que a expressão acima é apenas um conjunto de parênteses, para que apenas capturou uma "sub-partidas."
No exemplo acima, você só precisa usar parênteses para selecionar uma combinação de palavras entre o capítulo e secção. Para evitar partidas para ser salvo para uso futuro, antes que o padrão de expressão regular é colocado entre parênteses?:. A seguinte modificação fornece a mesma capacidade sem guardar as partidas da criança:
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/
Além disso :? caráter Exon, os outros dois são metacaracteres não captura de criar algo chamado de "lookahead" jogo. uso lookahead frente? = especificado, ele corresponde a entre parênteses correspondem ao padrão de expressão regular do ponto da cadeia de pesquisa de partida. Reverter uso lookahead ?! especificado, ele corresponde no padrão de expressão regular não corresponde a seqüência de pesquisa seqüência de partida.
Por exemplo, suponha que você tenha um documento que contém links para o Windows 3.1, Windows 95, Windows 98 e Windows NT referências de. Suponhamos ainda que você precisa atualizar o documento irá apontar para Windows 95, Windows 98 e Windows NT todas as referências alterado para Windows 2000. A expressão regular a seguir (este é o primeiro exemplo de uma previsão para a frente) coincidir com Windows 95, Windows 98 e Windows NT:
/Windows(?=95 |98 |NT )/
Encontrar um jogo, o jogo irá procurar imediatamente para o próximo jogo no texto (não incluindo os caracteres de verificação à frente) depois. Por exemplo, se a expressão acima combinado Windows 98, em vez disso, continuar a busca após 98 após o Windows.
Aqui estão alguns exemplos de expressões regulares:
正则表达式 | 描述 |
---|---|
/\b([a-z]+) \1\b/gi | 一个单词连续出现的位置。 |
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ | 将一个URL解析为协议、域、端口及相对路径。 |
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/ | 定位章节的位置。 |
/[-a-z]/ | a至z共26个字母再加一个-号。 |
/ter\b/ | 可匹配chapter,而不能匹配terminal。 |
/\Bapt/ | 可匹配chapter,而不能匹配aptitude。 |
/Windows(?=95 |98 |NT )/ | 可匹配Windows95或Windows98或WindowsNT,当找到一个匹配后,从Windows后面开始进行下一次的检索匹配。 |
/^\s*$/ | 匹配空行。 |
/\d{2}-\d{5}/ | 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 |
/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ | 匹配 HTML 标记。 |