Agosto 23rd, 2013

Simplificar expresiones regulares

Tanto si usamos POSIX (está obsoleto, si usas sus métodos, ereg, eregi, etc aconsejamos cambiarlos) como si usas PCRE, quizá ya sepas que tienes a tu alcance mecanismos de conversión para alfabéticos [a-zAZ09_], numéricos [0-9] o alfanuméricos [a-zAZ09_0-9].
Por ejemplo, si queremos representar caracteres alfabéticos nos basta con poner \D (palabra), para numéricos \d (dígito) y o alfanuméricos \w
Por cierto, si quieres probar el resultado de tus expresiones regulares, está web te será de utilidad.

Otras conversiones:
\t — Representa un tabulador.
\r — Representa el “retorno de carro” o “regreso al inicio” o sea el lugar en que la línea vuelve a iniciar.
\n — Representa la “nueva línea” el carácter por medio del cual una línea da inicio. Es necesario recordar que en Windows es necesaria una combinación de \r\n para comenzar una nueva línea, mientras que en Unix solamente se usa \n y en Mac_OS clásico se usa solamente \r.
\a — Representa una “campana” o “beep” que se produce al imprimir este carácter.
\e — Representa la tecla “Esc” o “Escape”
\f — Representa un salto de página
\v — Representa un tabulador vertical
\x — Se utiliza para representar caracteres ASCII o ANSI si conoce su código. De esta forma, si se busca el símbolo de derechos de autor y la fuente en la que se busca utiliza el conjunto de caracteres Latin-1 es posible encontrarlo utilizando “\xA9″.
\u — Se utiliza para representar caracteres Unicode si se conoce su código. “\u00A2″ representa el símbolo de centavos. No todos los motores de Expresiones Regulares soportan Unicode. El .Net Framework lo hace, pero el EditPad Pro no, por ejemplo.
\d — Representa un dígito del 0 al 9.
\w — Representa cualquier carácter alfanumérico.
\s — Representa un espacio en blanco.
\D — Representa cualquier carácter que no sea un dígito del 0 al 9.
\W — Representa cualquier carácter no alfanumérico.
\S — Representa cualquier carácter que no sea un espacio en blanco.
\A — Representa el inicio de la cadena. No un carácter sino una posición.
\Z — Representa el final de la cadena. No un carácter sino una posición.
\b — Marca el inicio y el final de una palabra.
\B — Marca la posición entre dos caracteres alfanuméricos o dos no-alfanuméricos.

Link | Regexpert