Necesito encontrar números de longitud específicos en un documento grande. Traté de usar expresiones regulares para esto. Por ejemplo, si necesito buscar números con exactamente 2 dígitos, lo uso \d\d
(es decir, / d dos veces seguido de un espacio). Esto funciona bien
Pero para encontrar números de 10 dígitos no es realmente posible escribir \d
10 veces.
Intentado \d{2}
, dice ' E486: Patrón no encontrado: \ d {2} '
¿Hay alguna forma más rápida / fácil de lograr esto?
:help /\@<!
y:help /\@!
. No se preocupe si no comprende todo de inmediato; como dije, esto es bastante avanzado.\v
al comienzo de la expresión regular si desea evitar tener que escapar{
, consulte:help magic
para obtener más información (hace que vim regex se comporte un poco más como perl regex, aunque todavía hay diferencias).\d\{4}
en Vi es trivialIntenta lo siguiente:
y se debe utilizar
\
no/
Puede obtener más información sobre la expresión regular de vim en este sitio o
vim
con:help regular
.fuente
Los corchetes de escape funcionan:
\d\{2\}
fuente
No es tan bonito, pero esto funcionó para mí durante 5 dígitos en un archivo de registro.
fuente
Para alguien como yo que llega a esta página simplemente para buscar un patrón que coincida con cualquier longitud de dígitos:
(Me tomó algún tiempo descubrir el escape adicional obligatorio \ antes +)
fuente
+
cuantificador significa 1 o más ocurrencias. Esta expresión regular coincide con 1 o más ocurrencias de dígitos.