Símbolo para qualquer número de caracteres em regex?


142

Gostaria de saber se existe um símbolo para qualquer número (incluindo zero) de qualquer caractere

Respostas:



33

Você pode usar essa expressão regular (qualquer espaço em branco ou qualquer espaço em branco) tantas vezes quanto possível até 0.

[\s\S]*

Essa expressão corresponderá ao mínimo possível, mas ao necessário para o restante da expressão.

[\s\S]*?

Por exemplo, neste regex [\s\S]*?Bcorresponderá aBem aBaaaaB. Mas neste regex [\s\S]*Birá corresponder aBaaaaBem aBaaaaB.


existe alguma diferença entre [\ s \ S] e.?
Linqu

8
@linqu, .às vezes não corresponde \n(nova linha), dependendo da opção de múltiplas linhas, mas [\s\S]corresponde a qualquer caractere.
agente-j

19

Você quer dizer

.*

. qualquer caractere, exceto o caractere de nova linha, com o modo dotall inclui também os caracteres de nova linha

* qualquer quantidade da expressão anterior, incluindo 0 vezes


4

Eu usaria .*. .corresponde a qualquer caractere, *significa 0 ou mais ocorrências. Você pode precisar de uma opção DOTALL para o regex para capturar novas linhas ..


-7

Sim, existe um, é o asterisco: *

a* // looks for 0 or more instances of "a"

Isso deve ser abordado em qualquer tutorial ou documentação de regex Java que você procurar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.