Mostrando entradas con la etiqueta regular expressions. Mostrar todas las entradas
Mostrando entradas con la etiqueta regular expressions. Mostrar todas las entradas

jueves, 29 de diciembre de 2011

Buscar / reemplazar en Visual Studio, usando expresiones regulares. Capturando grupos.

Vamos a ver como se capturan los grupos usando expresiones regulares en Visual Studio.
A diferencia de otros entornos, los grupos no se capturan con ( ), sino con { }.
Para hacer referencia a los grupos capturados se emplea la misma notación que en notepad++: \1 para el primer grupo, \2 para el segundo,...

Por ejemplo queremos capturar el contenido de una cadena que empieza por 'a':

^{a.*}


Y queremos reemplazarla por una concatenación de dos cadenas como esas:
\1\1


Por ejemplo,
Entrada:
a2343
basdasd
qweds
afasd

Salida:
a2343a2343
basdasd
qweds
afasdafasd


Vía:
Referencia de buscar/reemplazar en MSDN.

jueves, 10 de marzo de 2011

JMeter - trucos del regular expression extractor

Al usar el "Regular Expression Extractor":

Para almacenar en la variable "kk" todos los matches, poner en "Match No." -1. De ésta forma, si tenemos 3 matches, cada uno se guardará en la variable "kk_1", "kk_2", "kk_3". Si hubiera N matches para el patrón que hayamos especificado, entonces se guardarían todos en "kk_1", "kk_2", ... "kk_N".
La variable "kk_matchNr" contendrá el número de matches (coincidencias) que se han obtenido/guardado.

Para ver todas estas cosas, añadiríamos "Debug Sampler" y el listener "View results tree", donde en la pestaña "Response data" de la ejecución de cada "Debug sampler" se puede ver el contenido de todas las variables de jmeter (y si lo indicamos en el debug sampler, también podemos ver las propiedades y las variables de sistema) existentes.

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)