JavaScript usa este objeto
para trabajar con patrones de expresiones regulares, estos
patrones se crean como cualquier otro objeto mediante su
inicialización directo o bien mediante el constructor new
RegExp(), como podemos ver en el ejemplo:
......
var mipatron = /^[aeiou]/gi
var mipatron2 = new RegExp("^[aeiou]", "gi")
........
Ambas formas conducen al mismo patrón, en este ejemplo
define palabras que comienzan con una vocal. El patrón
puede llevar modificadores o flags para matizar la forma
de buscar, en el ejemplo se usan dos: g i Estos modificadores
tienen los siguientes sginficados:
| flags |
Significado |
| g |
Explorar la cadena completa |
| i |
No distinguir mayúsuculas de minúsuculas |
| m |
Permite usar varios ^y $ en el patrón |
| s |
Incluye el salto de línea en el comodín
punto . |
| x |
Ignora los espacios en el patrón |
Los patrones son algo así como operadores y usan
una serie de símbolos con significado especial, estos
operadores puedes verlo en la correspondiente sección
de operadores
Estos patrones poseen en total tres métodos exec(), test(), compile() además
de los métodos ya citados del objeto String que también
usan patrones como son: match(), replace(), search() y split().
La única propiedad que funciona en estos objetos es
la source que refleja el contenido del patrón. En
el patrón pueden aparecer caracteres o grupos de caracteres
encerrándos entre paréntesis, posteriormente
podemos usar un índice para referirnos individualmente
al contenido de esos paréntesis.
Por ejemplo vamos a substituir por un - todas los dígitos
situados tras una letra en la cadena a explorar.
var cadexp
= "234879x089h9y7";
var patron = /([a-z])(\d)/ig;
document.write(cadexp+'<br> ');
cadexp = cadexp.replace(patron, "$2-");
document.write(cadexp)
Como ves donde antes existía un dígito seguido
de una letra ahora hay un dígito seguido de un guión.
Las coincidencias con el primer paréntesis del patrón
están en $1 y con el segundo en $2. La primera coincidencia
hallada es x0, luego $1 contiene x y
$2 contiene 0, sustituyo lo
hallado con -$2, o sea, quito $1 y pongo un guión y
me quedará -0 en lugar
de x0. Como se ha usado el
flag g (global) esta operación
se realiza en toda la cadena. |