En muchas implementaciones de expresiones regulares, puede especificar modifiers que se aplica a una parte determinada de su patrón. Case-insensibilidad es uno de esos modificadores:
\s?[^a-zA-Z0-9\_](?i)sometext(?-i)[^a-zA-Z0-9\_]
La sección entre (?i)
y (?-i)
se pondrá en el modo de mayúsculas y minúsculas. Según this comparison table, esto es compatible si está utilizando .net, Java, Perl, PCRE, Ruby o el motor JGsoft.
Por supuesto, ya que está especificando tanto a-z
y A-Z
en sus clases de personajes, se puede simplificar y utilizar el modificador entre mayúsculas y minúsculas en todo el patrón:
/\s?[^a-z0-9\_]sometext[^a-z0-9\_]/i
¿Qué implementación de lenguaje/expresión regular usa? – Gumbo