2010-10-03 149 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")) 
相關問題