2010-10-03 7 views
5

j'ai écrit quelques RegExp pattren comme ceci:lettres majuscules Match et lettres par RegExp

SomeText 

Mais je veux le pattren pour correspondre avec:

Sometext 
sOMeTeXt 
SOMETEXT 
SoMEteXt 

Somethings comme ça!

En fait, je veux utiliser ce

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

Que dois-je faire?

+1

Quelle implémentation de langue/expression régulière utilisez-vous? – Gumbo

Répondre

5

Dans de nombreuses implémentations regex, vous pouvez spécifier modifiers qui s'appliquent à une partie donnée de votre modèle. Insensibilité à la casse est l'un de ces modificateurs:

\s?[^a-zA-Z0-9\_](?i)sometext(?-i)[^a-zA-Z0-9\_] 

La section entre (?i) et (?-i) seront mis en mode insensible à la casse. Selon this comparison table, ceci est pris en charge si vous utilisez .net, Java, Perl, PCRE, Ruby ou le moteur JGsoft.

Bien sûr, puisque vous spécifiant à la fois a-z et A-Z dans vos classes de personnages, vous pouvez simplifier et utiliser le modificateur insensible à la casse sur l'ensemble du modèle:

/\s?[^a-z0-9\_]sometext[^a-z0-9\_]/i 
+0

Incroyable .. Merci beaucoup –

7

utilisation ignorer la casse modification

/sometext/i 
+0

Merci .. Cette réponse ne fonctionne pas pour moi –

7

Si vous ne pouvez pas utiliser les modificateurs:

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

Bonne idée. merci –

0

Javascript: Fonctionne capital et petite lettre dans n'importe quel ordre.

value.match(new RegExp(searchkey, "i")) 
Questions connexes