viernes, 5 de noviembre de 2010

Referencias a tokens de expresiones regulares en Notepad++

En vez de $1 hay que poner \1.

$1,$2,... es el formato estándar para hacer referencia a un token de la expresión regular con el que se ha encontrado la coincidencia.

Pero en el editor notepad++, si queremos buscar/reemplazar, usando expresiones regulares, debemos usar el formato \1,\2,... en vez de $1,$2,...

Por ejemplo, tengo las siguientes cadenas:

aaa342
bbb545

y me quiero quedar sólo con la parte de los números de cada cadena.
Entonces invoco el menú buscar/reemplazar de notepad++ (ctrl+h directamente, o bien, ctrl+f y pestaña 'reemplazar' o 'replace'):

buscar: [a-z]*([0-9]*)
reemplazar: \1

Y obtengo:

342
545

Al coincidir la expresión regular, las partes rodeadas por (), se pueden referenciar por identificadores, cuyo índice va en el orden de ocurrencia de dichos bloques, de izquierda a derecha y en los anidamientos de fuera hacia dentro.

Buenas herramientas para probar expresiones regulares online y offline.

Online:

(Aplicaciones web)

Offline:

(Aplicaciones para descargar)