He visto muchos ejemplos de hacer que una expresión regular completa no distinga entre mayúsculas y minúsculas. Lo que me pregunto es que solo parte de la expresión sea insensible a mayúsculas y minúsculas.¿Puedes hacer solo parte de una expresión regular sin distinguir entre mayúsculas y minúsculas?
Por ejemplo, digamos que tengo una cadena como esta:
fooFOOfOoFoOBARBARbarbarbAr
Qué pasa si quiero hacer coincidir todas las apariciones de "foo", independientemente del caso, pero sólo quiero que coincida con la mayúscula "BAR s?
La solución ideal sería algo que funciona a través de los sabores de expresiones regulares, pero estoy interesado en los específicos del idioma de audición, así (Gracias Espo)
Edición
El enlace fue proporcionada Espo muy útil. Hay un buen ejemplo de activar y desactivar modificadores dentro de la expresión.
Para mi ejemplo artificial, que puede hacer algo como esto:
(?i)foo*(?-i)|BAR
lo que hace que el caso insensible por sólo la parte foo del partido partido.
Eso pareció funcionar en la mayoría de las implementaciones de expresiones regulares excepto JavaScript, Python y algunas otras (como mencionó Espo).
Las grandes que me preguntaba (Perl, PHP, .NET) admiten cambios en el modo en línea.
Esta pregunta ha sido añadida a la [desbordamiento de pila FAQ expresión regular] (http://stackoverflow.com/a/22944075/2736496), en "Modificadores". – aliteralmind