2010-10-03 14 views
5

me escribieron algunos pattren RegExp así:mayúsculas y minúsculas del partido por RegExp

SomeText 

pero quiero que el pattren para que coincida con:

Sometext 
sOMeTeXt 
SOMETEXT 
SoMEteXt 

Algunas cosas por el estilo!

De hecho quiero usar este

\s?[^a-zA-Z0-9\_]SomeText[^a-zA-Z0-9\_] 

¿qué debería hacer?

+1

¿Qué implementación de lenguaje/expresión regular usa? – Gumbo

Respuesta

5

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 
+0

Increíble .. Muchas gracias –

7

uso ignorar modificador caso

/sometext/i 
+0

Gracias .. Esta respuesta no funciona para mí –

7

En caso de que no se puede utilizar modificadores:

[Ss][Oo][Mm][Ee][Tt][Ee][Xx][Tt] 
+0

Buena idea. gracias –

0

Javascript: funciona tanto capital y pequeña carta en cualquier orden

value.match(new RegExp(searchkey, "i")) 
Cuestiones relacionadas