Uma expressão regular é uma fórmula que usa um determinado padrão para corresponder a um tipo de string. Uma expressão regular consiste em alguns caracteres comuns e alguns metacaracteres. Os caracteres comuns incluem letras maiúsculas e minúsculas e números, enquanto os metacaracteres têm significados especiais. Seja na plataforma .Net ou na plataforma Java, o significado expresso pelas expressões regulares é o mesmo. aplicações específicas. Espero que o artigo seja útil para você e seja apenas para referência.
Desde que o jdk1.4 lançou o pacote java.util.regex, ele nos forneceu uma boa plataforma de aplicação de expressões regulares Java, porque as expressões regulares Java são um sistema muito complexo.
//barra invertida
/t intervalo('/u0009')
/n avanço de linha ('/u000A')
/r Enter('/u000D')
/d é numericamente equivalente a [0-9]
/D não-número é equivalente a [^0-9]
/s espaço em branco [/t/n/x0B/f/r]
/S caractere sem espaço em branco [^/t/n/x0B/f/r]
/w caracteres individuais [a-zA-Z_0-9]
/W caracteres não separados [^a-zA-Z_0-9]
/f caractere de feed de formulário
/e Fuga
/b um limite de palavra
/B Um limite sem palavra
/G fim da partida anterior
^ começa com restrição
A condição ^java é limitada a caracteres começando com Java
$ é o fim da restrição
A condição java$ é limitada a java como caractere final
A condição restringe qualquer caractere único, exceto /n.
A condição java.. é limitada a quaisquer dois caracteres após java, exceto nova linha
Adicione restrições específicas "[]"
A condição [az] é limitada a um caractere no intervalo de letras minúsculas de a a z
A condição [AZ] é limitada a um caractere no intervalo maiúsculo de A a Z
A condição [a-zA-Z] é limitada a um caractere no intervalo de A a Z minúsculo ou A a Z maiúsculo
[0-9] A condição é limitada a um caractere no intervalo de letras minúsculas de 0 a 9
[0-9a-z] A condição é limitada a um caractere no intervalo de letras minúsculas de 0 a 9 ou de a a z
[0-9[az]] A condição é limitada a um caractere (interseção) no intervalo de letras minúsculas de 0 a 9 ou de a a z
Adicione ^ a [] e depois adicione outra restrição "[^]"
A condição [^az] é limitada a um caractere no intervalo de a a z não minúsculo
A condição [^AZ] é limitada a um caractere no intervalo de A a Z não maiúsculo
[^a-zA-Z] A condição é limitada a um caractere no intervalo de A a Z não minúsculo ou de A a Z maiúsculo
[^0-9] A condição é limitada a um caractere no intervalo de 0 a 9 não minúsculo
[^0-9a-z] A condição é limitada a um caractere no intervalo de 0 a 9 não minúsculo ou de a a z
[^0-9[az]] A condição é limitada a um caractere (interseção) no intervalo de 0 a 9 não minúsculo ou de a a z
Quando a condição de restrição é que um caractere específico apareça mais de 0 vezes, você pode usar "*"
J* mais de 0J
.* 0 ou mais caracteres
J.* Mais de 0 caracteres entre DJ e D
Quando a condição de restrição é que um caractere específico apareça mais de uma vez, você pode usar "+"
J+ 1 ou mais J
.+ 1 ou mais caracteres
J.+1 ou mais caracteres entre DJ e D
Quando a restrição é que um caractere específico apareça 0 ou mais vezes, você pode usar "?"
JA? J ou JA aparece
Limite ao número especificado de ocorrências consecutivas do caractere "{a}"
J{2} JJ
J{3} JJJ
Existem mais de um caractere e "{a,}"
J{3,} JJJ,JJJJ,JJJJJ,???(J coexiste mais de 3 vezes)
Mais de caracteres e menos de b caracteres "{a,b}"
J{3,5} JJJ ou JJJJ ou JJJJJ
Escolha um dos dois "|"
J|AJ ou A
Java|Olá Java ou Olá
"()" especifica um tipo de combinação <BR>Por exemplo, se eu consultar os dados entre <a href></a> em <a href="index.html/">índice</a>, ele pode ser escrito como <a .*href=/".*/">(.+?)</a>
Ao usar a função Pattern.compile, você pode adicionar parâmetros que controlam o comportamento de correspondência de expressões regulares Java:
Padrão Pattern.compile (String regex, sinalizador int)
O intervalo de valores do sinalizador é o seguinte:
Pattern.CANON_EQ Uma correspondência é considerada se e somente se a "decomposição canônica" dos dois caracteres for exatamente a mesma. Por exemplo, após usar este sinalizador, a expressão "a/u030A" corresponderá a "?". Por padrão, a "equivalência canônica" não é considerada.
Padrão.CASE_INSENSITIVE(?i)
Por padrão, a correspondência que não diferencia maiúsculas de minúsculas funciona apenas com o conjunto de caracteres US-ASCII. Este sinalizador faz com que as expressões sejam correspondidas independentemente do caso. Para realizar uma correspondência inequívoca de caracteres Unicode, basta combinar UNICODE_CASE com este sinalizador.
Padrão.COMMENTS(?x)
Neste modo, os caracteres de espaço nas expressões regulares Java serão ignorados durante a correspondência (Nota do tradutor: não se refere a "//s" na expressão, mas se refere a espaços, tabulações, retornos de carro, etc. na expressão.) . Os comentários começam com # e continuam até o final da linha. O modo de linha Unix pode ser habilitado por meio de um sinalizador incorporado.
Padrão.DOTALL(?s)
Neste modo, a expressão '.' pode corresponder a qualquer caractere, incluindo o final de uma linha. Por padrão, a expressão '.' não corresponde aos terminadores de linha.
Padrão.MULTILINE(?m)
Neste modo, '^' e '$' correspondem ao início e ao fim de uma linha, respectivamente. Além disso, '^' ainda corresponde ao início da string e '$' também corresponde ao final da string. Por padrão, essas duas expressões correspondem apenas ao início e ao fim da string.
Padrão.UNICODE_CASE(?u)
Neste modo, se você também ativar o sinalizador CASE_INSENSITIVE, ele corresponderá aos caracteres Unicode sem distinção entre maiúsculas e minúsculas. Por padrão, a correspondência que não diferencia maiúsculas de minúsculas funciona apenas com o conjunto de caracteres US-ASCII.
Padrão.UNIX_LINES(?d)
Neste modo, apenas '/n' é considerado uma quebra de linha e é comparado com '.', '^' e '$'. Deixando de lado os conceitos vagos, aqui estão alguns casos de uso regulares simples de Java:
◆Por exemplo, quando a string contém validação