Table of Contents   MOBOTIX Online Help

Expresiones Regulares

Esta página debería darle sólo una pequeña introducción al concepto de expresiones regulares y está lejos de ser completo. Para más información sobre el asunto, leer Regular Expressions por Jeffrey E.F. Friedl, O'REILLY, es altamente recomendado.

Las expresiones regulares son patrones de búsqueda que puede utilizar para probar cadenas. Por ejemplo, puede utilizar una expresión regular para probar el texto del mensaje de un mensaje IP o el envío de datos a través del interfaz serie. Una expresión regular consiste en uno o varios caracteres que está buscando y de caracteres especiales que realizan ciertas funciones.

Ejemplo:

Una máquina envía datos a través del interfaz serie como este ejemplo:

[...]
2003-09-22 12:24:50 PM robots listos
2003-09-22 12:24:51 robots comenzando proceso
2003-09-22 12:25:25 robots terminaron en 34seg
2003-09-22 12:25:30 robots listos
2003-09-22 12:25:31 PM robots comenzando proceso
2003-09-22 12:25:33 error: material no encontrado
2003-09-22 12:25:33 robots parada al producirse error

La expresión regular parada.*error disparará un evento si la máquina devuelve un error como en la última línea del ejemplo.


Caracteres Especiales

Cuando quiera buscar un caracter de la columna izquierda de la tabla de abajo o la barra inclinada "\" o el carácter menos "-", precédalos con una barra inclinada "\" (a esto también se le llama enmascarar).

Carácter Función
^ El carácter ^ marca el principio de una cadena. La expresión ^Prueba sólo es verdadera para cadenas que empiecen con Prueba.
$ El carácter $ marca el final de una cadena. La expresión Prueba$ es verdadera sólo para cadenas que terminan con Prueba.
.

El caracter punto final es un marcador para un carácter. La expresión ab.d es verdadera para abcd o abad, pero no para abccd.

Al buscar el carácter . en sí mismo, necesita enmarcararlo precediéndolo con una barra inversa "\". En este caso, la expresión ab\.d sólo es verdadera para ab.d.

* El carácter asterisco es un operador de repetición que hace que el caracter precedente puede aparecer nunca o un número ilimitado de veces. La expresión ab*c es verdadera para abc, abbbbbc, pero también para ac.
+ El carácter más es similiar al operador de repetición que hace el carácter precedente puede aparecer una vez o un número ilimitado de veces. La expresión ab+c es verdadera para abc, abbbbbc, pero no para ac.
? El carácter interrogante hace que el carácter precedente pueda aparecer una vez o nunca. La expresión ab?c es verdadera para abc y ac, pero no para abbc.
[ ]

Las expresiones rodeadas por [corchetes] representan una clase de carácter.

Una clase de carácter puede definirse como una lista o como un rango. La expresión [abc] representa una lista de caracteres, mientras que la expresión [a-m] representa un rango.

Por ejemplo, [0-9] es verdadero para todos los números, mientras que [a-z] es verdadero para todas las letra minúsculas. Es posible utilizar varios rangos en una clase de carácter, como [0-9a-zA-Z], o puede mezclar rangos y listas como en [afm0-6].

Una clase de carácter también pude ser negada utilizando un carácter precedente de intercalación "^". La expresión [^ab] es verdadera para todos los caracteres que no sean ni a ni b.

cn, de, en, es, fr, it, jp, ru

© 2001-2017 
MOBOTIX AG, Germany · http://www.mobotix.com/