Comprende con ejemplos los 6 flags que cambian el comportamiento de una expresión regular.
Los flags se añaden al final de la expresión regular y actúan como interruptores que cambian su comportamiento global. En JavaScript hay seis. g (global) no se detiene en la primera coincidencia, sino que las encuentra todas. Sin este flag solo se captura la primera.
i (ignoreCase) hace que no se distinga entre mayúsculas y minúsculas. m (multiline) hace que ^ y $ coincidan con el inicio y el fin de cada línea, y no del texto completo. Es imprescindible al trabajar con textos de varias líneas.
s (dotAll) hace que el punto (.) incluya también el carácter de salto de línea. u (unicode) interpreta correctamente los puntos de código Unicode y los escapes de propiedad \p{...}. y (sticky) solo permite coincidencias que empiecen exactamente en la posición de lastIndex.
Prueba a activar y desactivar los chips de flags de este probador para comparar cómo cambia un mismo patrón. Comprobar con tus propios ojos cómo varía el número de resultados según haya o no g te ayudará a captarlo rápidamente.