Los modificadores inline son muy similares a las banderas, pero que podemos incluir directamente dentro de una expresión regular.
Es decir, a diferencia de los modificadores globales que se aplican a toda la expresión, los modificadores inline nos permiten modificar el comportamiento de la expresión solo en la parte donde se insertan.
No todos los lenguajes y herramientas van a tener compatibilidad con los modificadores inline
Sintaxis de los modificadores inline
Los modificadores inline se especifican utilizando la sintaxis (?mod)
, donde mod
es el modificador que deseamos aplicar.
Los modificadores inline más comunes incluyen:
Modificador | Descripción |
---|---|
(?i) | Ignora las diferencias entre mayúsculas y minúsculas |
(?m) | Modificador multilinea |
(?s) | Permite que el punto (. ) coincida con caracteres de nueva línea. |
(?x) | Modo verbose |
Modificador i (Case Insensitive)
El modificador i
es útil cuando queremos que la coincidencia no distinga entre mayúsculas y minúsculas.
En este ejemplo, usamos (?i)
para permitir que “hola” coincida independientemente de su capitalización.
Modificador m (Multi-line)
El modificador m
permite que los anclajes ^
y $
funcionen en cada línea de un texto.
Una línea que no empieza por La
La tercera línea
Aquí, (?m)
permite que ^
coincida con el inicio de “Segunda” en la segunda línea del texto.
Modificador s (Dot All)
El modificador s
permite que el punto (.
) coincida con caracteres de nueva línea.
aqui cosas en medio
mundo!
Aquí, (?s)
hace que .*
coincida con el salto de línea entre “Hola,” y “¿cómo estás?“.
Modificador x (Verbose)
El modificador x
permite incluir espacios y comentarios en la expresión, mejorando su legibilidad.
Con (?x)
, podemos incluir comentarios en la expresión para hacerla más comprensible.
Combinando modificadores inline
Podemos combinar varios modificadores inline en una sola expresión. Para ello simplemente tenemos que juntar los modificadores en nuestra (?mod)
.
Por ejemplo, si queremos una coincidencia que
- No distinga entre mayúsculas y minúsculas
(?i)
- Que funcione en múltiples líneas
(?m)
Podemos hacerlo simplemente con combinando ambos modificadores así (?im)
Consejos
Los modificadores inline son muy potentes, pero su uso excesivo puede llevar a expresiones difíciles de leer y mantener.
(a.k.a. como no te flipes demasiado poniendo modificadores)