RegExp匹配大写字母和小写字母

时间:2010-10-03 18:11:29

标签: regex case-insensitive

我写了一些像这样的RegExp pattren:

SomeText

但我希望pattren与之匹配:

Sometext
sOMeTeXt
SOMETEXT
SoMEteXt

那样的事情!

实际上我想用这个

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

我该怎么办?

5 个答案:

答案 0 :(得分:7)

如果你不能使用修饰符:

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

答案 1 :(得分:6)

使用ignore case modifier

/sometext/i

答案 2 :(得分:6)

在许多正则表达式实现中,您可以指定适用于模式的给定部分的modifiers。不区分大小写是其中一个修饰符:

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

(?i)(?-i)之间的部分将置于不区分大小写的模式中。根据{{​​3}},如果您使用.net,Java,Perl,PCRE,Ruby或JGsoft引擎,则支持此功能。

当然,由于您在字符类中指定了a-zA-Z,因此可以在整个模式上简化并使用不区分大小写的修饰符:

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

答案 3 :(得分:1)

Javascript:以任何顺序同时使用大写和小写字母。

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

答案 4 :(得分:0)

如果您需要使用变量名称创建正则表达式并在不区分大小写的情况下进行全局比较,请使用以下示例

let str = 'Basappa'; var regex = new RegExp(str, "gi");