Preciso encontrar números de comprimento específicos em um grande documento. Eu tentei usar regex para isso. Por exemplo, se eu precisar procurar números com exatamente 2 dígitos, eu uso \d\d
( por exemplo, / d duas vezes seguidas por um espaço). Isso funciona bem.
Mas, para encontrar números de 10 dígitos, não é realmente possível digitar \d
10 vezes.
Tentei \d{2}
, diz ' E486: padrão não encontrado: \ d {2} '
Existe alguma maneira mais rápida / fácil de conseguir isso?
:help /\@<!
e:help /\@!
. Não se preocupe se você não entender tudo imediatamente; como eu disse, isso é bastante avançado.\v
no início da regex se quiser evitar ter que escapar da{
, consulte:help magic
para obter mais informações (isso faz com que o vim regex se comporte um pouco mais como o perl regex, embora ainda haja diferenças).\d\{4}
no Vi, é trivialTente o seguinte:
e você
\
não deve usar/
Você pode descobrir mais sobre o desgaste regular do vim neste site ou
vim
com:help regular
.fonte
Funcionamento de colchetes de escape:
\d\{2\}
fonte
Não é tão bonito, mas isso funcionou para mim por 5 dígitos em um arquivo de log.
fonte
Para alguém como eu, acessando esta página, basta procurar um padrão que corresponda a qualquer comprimento de dígitos:
(Levei algum tempo para descobrir o escape extra obrigatório \ antes de +)
fonte
+
quantificador significa 1 ou mais ocorrências. Essa expressão regular corresponde a 1 ou mais ocorrências de dígitos.