RegexBuddy herramienta de expresiones regulares

En Software por

Pocas veces he escrito sobre programas de pago pues casi siempre encontré alternativas gratuitas que cubrían mis necesidades, pero en este caso, RegexBuddy me pareció una buena inversión y su precio tampoco es muy elevado (29,95€) teniendo en cuenta que es una herramienta que aumenta tu productividad a la hora de programar expresiones regulares.

RegexBuddy herramienta de expresiones regulares

RegexBuddy la mejor herramienta de expresiones regulares

Muchas veces me he encontrado con tener que recurrir a expresiones regulares a la hora de programar aplicaciones y siempre tenía el problema de cómo probar esa expresión regular para ver que funcionaba como yo esperaba y que no me daría problemas.

En mis comienzos con la programación, hacía programas auxiliares en los que probar la expresión regular, para así no tener que compilar una y otra vez mi proyecto principal, ni agregar código basura para hacer una simple prueba.
Hace poco descubrí esta maravillosa herramienta RegexBuddy, para mi es la herramienta definitiva en cuanto a expresiones regulares. Permite escribir expresiones regulares para más de 10 lenguajes de programación diferentes y probar estas expresiones regulares en la propia aplicación.

La prueba de expresiones de regulares es el principal uso que le doy a esta aplicación, pero tiene muchas más opciones muy interesantes y que también uso con bastante frecuencia.

RegexBuddy permite crear expresiones regulares de forma automática a base de “tokens” (fichas) con unos pocos clicks, lo cual es de ayuda a los novatos ya los no tan novatos. Incluye una librería en al que puedes guardar tus expresiones regulares y por defecto incorpora una gran cantidad de expresiones regulares listas para su uso.

La aplicación además incluye una herramienta similar al “Grep” de los sistemas Linux, sólo que este Grep funciona en Windows y con una interfaz gráfica (a diferencia del Grep de Linux que funciona en modo consola). Con esta aplicación Grep, podemos buscar con expresiones regulares contenido en varios archivos seleccionando una carpeta (dando opción a incluir en la búsqueda todas las subcarpetas) o buscar contenidos en un único archivo. La aplicación va más allá, ya que no sólo permite buscar, sino que también permite hacer reemplazos masivos de cadenas de texto, lo cual es realmente útil en ciertas ocasiones.

Como conclusión, si eres programador y recurres frecuentemente a las expresiones regulares no lo dudes, RegexBuddy es tu herramienta.

Comentarios (4)

No veas la de veces que me ha salvado esta herramienta. Recomendadísima para los programadores, porque no veas la de vueltas que te evita al poder testear las regex en el programa directamente, con un simple click.

Donde puedo encontrar información de como usar esta herramienta?
He realizado esto manualmente y al no encontrar manera de que funcione me gustaría probar este software.
Field Pseudo-Code Regular Expression Capture Group
EventName ” type= VALUE ” \stype\=\s.*?\s \stype\=\s(.*?)\s
SourceIP ” src=VALUE ” \ssrc\=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s \ssrc\=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s
DestinationIp ” dst=VALUE ” \sdst\=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s \sdst\=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s
Protocol ” proto=VALUE ” \sproto\=(tcp|udp|icmp|gre)\s \sproto\=((tcp|udp|icmp|gre))\s
SourcePort ” src_port=VALUE ” \ssrc_port\=\d{1,5}\s \ssrc_port\=(\d{1,5})\s
DestinationPort ” dst_port=VALUE ” \sdst_port\=\d{1,5}\s \sdst_port\=(\d{1,5})\s

Gracias,

Diego

Hola Diego, no entiendo muy bien tu pregunta. Si puedes ser un poco más claro te lo agradecería.

Has pegado el código de lo que son varias expresiones regulares, para usarlas necesitarás algun programa (regexbuddy por ejemplo) o usar un lenguaje de programación.

Siento no poder ayudarte, pero no entiendo tu pregunta. Saludos.

Hola Zeokat
Te cuento: Tenemos una herramienta de seguridad que gestiona logs. El caso es que unos de estos logs la herramienta SIEM no es capaz de darle el formato correcto. Una de las soluciones es construir un fichero XML el cual extrae información del payload (log) que recibe y lo adapta.

Esta es una muestra:
date=2015-02-22
time=20:43:41
devname=FortiWeb
log_id=20000005
msg_id=000008104805
type=attack
subtype=”none”
pri=alert
device_id=FV400C3M13000193
timezone=”(GMT+1:00)Brussels,Copenhagen,Madrid,Paris”
trigger_policy=”EnviarCorreu”
severity_level=High
proto=tcp
service=https
action=Alert
policy=”JOBS”
src=83.46.53.56
src_port=50986
dst=195.77.95.165
dst_port=443
http_method=post
http_url=”/sap(bD1lcyZjPTQwMCZkPW1pbg==)/bc/bsp/sap/hrrcf_unrg_appl/application.do”
http_host=”jobs.cuatrecasas.com”
http_agent=”Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko”
http_session_id=ZOKDZMIFZN1Q4M2JRZS4ERDLQPIRICHX
msg=”cookie name (sap-appcontext) : Cookie Poisoning”

Expresion regular:
Field Pseudo-Code Regular Expression Capture Group
EventName ” type= VALUE ” \s+type=\s*”.+?” \s+type=\s*”(.+?)” *******
SourceIP ” src=VALUE ” \ssrc\=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s \ssrc\=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s
DestinationIp ” dst=VALUE ” \sdst\=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s \sdst\=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s
Protocol ” proto=VALUE ” \sproto\=(tcp|udp|icmp|gre)\s \sproto\=((tcp|udp|icmp|gre))\s
SourcePort ” src_port=VALUE ” \ssrc_port\=\d{1,5}\s \ssrc_port\=(\d{1,5})\s
DestinationPort ” dst_port=VALUE ” \sdst_port\=\d{1,5}\s \sdst_port\=(\d{1,5})\s

Y el fichero XML:

<!–

Author:
Device Type: Fortiweb 400C (WAP FortiNet)
Device Version: 5.06,build0091,140212
Protocol: Syslog

Custom Property regular expressions for Event Viewer:
Sample-ID: \sPolicy\sID\:\s(.*?)\;
Sample-Group: \sGroup\sName\:\s(.*?)\;

Common Regular Expressions:
IP Address: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
Port Number: \d{1,5}
MAC Address: (?:[0-9a-fA-F]{2}\:){5}[0-9a-fA-F]{2}
Protocol: (tcp|udp|icmp|gre)
Device Time: \w{3}\s\d{2}\s\d{2}:\d{2}:\d{2}
White Space: \s
Tab: \t
Match Anything: .*?

–>

No consigo la expresion regular correcta para:

Field Pseudo-Code Regular Expression Capture Group
EventName ” type= VALUE ” \s+type=\s*”.+?” \s+type=\s*”(.+?)” *******

Gracias y saludos,

Deja un comentario: