Expresión regular -Modificadores (marcadores)
Los modificadores de expresiones regulares (también llamados modificadores de patrón o marcadores) son instrucciones especiales utilizadas para cambiar el comportamiento de coincidencia de las expresiones regulares.
Los marcadores también se denominan modificadores. Los marcadores de las expresiones regulares se utilizan para especificar estrategias de coincidencia adicionales.
Los marcadores no se escriben dentro de la expresión regular; se colocan fuera de la expresión, con el siguiente formato:
/pattern/flags
Modificadores comunes
La siguiente tabla enumera los modificadores comunes de las expresiones regulares:
1. i(ignore case) - Ignorar mayúsculas/minúsculas
-
Hace que la coincidencia no distinga entre mayúsculas y minúsculas.
-
Ejemplo:
/abc/iPuede coincidir con "abc", "Abc", "ABC", etc. -
Idiomas compatibles: casi todas las implementaciones de expresiones regulares (JavaScript, PHP, Python, etc.)
2. g(global) - Coincidencia global
-
Busca todas las coincidencias en lugar de detenerse después de la primera.
-
Ejemplo: en la cadena "ababab",
/ab/gcoincidirá con los tres "ab". -
Idiomas compatibles: JavaScript, PHP, etc.
3. m(multiline) - Modo multilínea
-
Cambia el comportamiento de
^y$para que coincida con el principio y el final de cada línea, no solo con el principio y el final de toda la cadena. -
Ejemplo: en una cadena multilínea,
/^abc/mcoincidirá con "abc" al principio de cada línea. -
Idiomas compatibles: JavaScript, PHP, Python, Perl, etc.
4. s(single line/dotall) - Modo de una sola línea
-
Hace que el punto
.coincida con todos los caracteres, incluidos los saltos de línea. -
En JavaScript se denomina modo "dotall", usando
/sel modificador -
Ejemplo:
/a.b/sPuede coincidir con "a\nb". -
Idiomas compatibles: PHP, Perl, Python (como
re.DOTALL)、JavaScript(ES2018+)
5. u(unicode) - Modo Unicode
-
Habilita soporte Unicode completo.
-
Maneja correctamente pares sustitutos UTF-16 y propiedades de caracteres Unicode.
-
Ejemplo:
/\p{Script=Greek}/uPuede coincidir con letras griegas. -
Idiomas compatibles: JavaScript, PHP, etc.
6. y(sticky) - Coincidencia adhesiva
-
Comienza la coincidencia desde la posición actual de la cadena objetivo (usando
lastIndexel atributo) -
Similar a
^una ancla, pero apunta a la posición inicial de la coincidencia. -
Ejemplo: en JavaScript,
/a/ya partir delastIndexcoincidirá con "a". -
Idiomas compatibles: JavaScript
7. x(extended) - Modo extendido
-
Ignora los espacios en blanco y los comentarios en el patrón, haciendo que la expresión regular sea más legible.
-
Ejemplo: en PHP,
/a b c/xes equivalente a/abc/ -
Idiomas compatibles: PHP, Perl, Python (como
re.VERBOSE)
Modificador g
El modificador g permite encontrar todas las coincidencias en la cadena:

Ejemplo
Buscar "ejemplo" en la cadena:
Pruébalo »
Modificador i
El modificador i es para coincidencia sin distinguir mayúsculas/minúsculas, ejemplo:

Ejemplo
Buscar "ejemplo" en la cadena:
Pruébalo »
Modificador m
El modificador m permite que^y$coincida con el inicio y el final de cada línea en un texto.
g solo coincide con la primera línea; al añadir m, se logra multilínea.

En la siguiente cadena de ejemplo se usa\npara saltos de línea:
Ejemplo
Buscar "ejemplo" en la cadena:
Pruébalo »
Modificador s
El punto, de forma predeterminada,.coincide con cualquier carácter excepto el salto de línea\n; al añadir s,.el punto incluye el salto de línea.\n。

A continuación se muestra un ejemplo del modificador s:
Ejemplo
Buscar en la cadena:
Pruébalo »
Explicación ampliada
Tabla complementaria de modificadores específicos del lenguaje:
| Lenguaje | Modificadores específicos | Descripción |
|---|---|---|
| PHP | A |
Anclar el patrón al inicio de la cadena |
D |
$Coincidir solo con el final de la cadena (sin incluir el salto de línea final) |
|
U |
Invierte la codicia de los cuantificadores (hace que todos los cuantificadores sean no codiciosos) | |
| Python | re.A |
Hacer\w,\W,\b,\Betc. coincide solo con caracteres ASCII |
re.L |
Determinar según la configuración regional\w,\Wel significado de |
|
| JS(ES2022) | d |
Genera el atributo indices para los resultados de coincidencia (incluye los índices de inicio y fin de la posición) |
Tabla de ejemplos de combinaciones de modificadores:
| Combinación | Efecto |
|---|---|
gi |
Coincidencia global + ignorar mayúsculas/minúsculas (por ejemplo, buscar todas las formas de la palabra "email") |
ims |
Ignorar mayúsculas/minúsculas + modo multilínea + punto coincide con salto de línea (común en análisis de registros) |
gu |
Coincidencia global + soporte Unicode (por ejemplo, buscar todos los emoticonos Unicode) |
Tabla de modificadores en línea (estilo PCRE/Perl):
| Sintaxis | Alcance | Ejemplo |
|---|---|---|
(?i) |
Habilitar ignorar mayúsculas/minúsculas | a(?i)bc→ coincide con "aBc", "aBC" |
(?-i) |
Deshabilitar ignorar mayúsculas/minúsculas | a(?i)b(?-i)c→ solo coincide con "aBc" |
(?i:...) |
Solo aplica dentro de los paréntesis | a(?i:b)c→ coincide con "aBc", "abc" |
Otras extensionesNota: La implementación de los modificadores puede variar según el lenguaje; se recomienda consultar la documentación específica del lenguaje al usarlos.