2010-10-03 151 views
5

我写了一些正则表达式pattren这样的:匹配大写字母和小写字母的正则表达式

SomeText 

但我想pattren以配合:

Sometext 
sOMeTeXt 
SOMETEXT 
SoMEteXt 

出头的那样!

其实我想用这个

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

我应该怎么办?

+1

你使用什么语言/正则表达式实现? – Gumbo 2010-10-03 18:23:23

回答

5

在许多regex实现,你可以指定适用于您的模式的给定部分modifiers。不区分大小写是那些修饰符之一:

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

(?i)(?-i)之间的路段将投入不区分大小写的模式。根据this comparison table,如果您使用.net,Java,Perl,PCRE,Ruby或JGsoft引擎,则支持此功能。

当然,既然你指定你的角色等级都a-zA-Z,可以简化和使用不区分大小写的修改对整个模式:

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

令人惊叹..非常感谢 – 2010-10-03 18:46:18

7

使用忽略大小写修改

/sometext/i 
+0

谢谢..此答案不适用于我 – 2010-10-03 18:34:16

7

如果你不能使用修饰符:

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

好主意。谢谢 – 2010-10-03 18:47:28

0

的Javascript:工作资本和小以任何顺序发信。

value.match(new RegExp(searchkey, "i")) 
相关问题