2023-08-23 07:00:04

Regex:忽略大小写

如何使下面的正则表达式忽略大小写敏感性?它应该匹配所有正确的字符,但忽略它们是小写还是大写。

G[a-b].*

当前回答

正如我从这篇类似的文章中发现的那样(在AWK中ignorecase),在老版本的AWK上(比如在普通的Mac OS X上),你可能需要使用'tolower($0) ~ /pattern/'。

IGNORECASE或(?i)或/pattern/i将为每一行生成一个错误或返回true。

其他回答

在Java中,正则表达式构造函数具有

Regex(String pattern, RegexOption option)

要忽略大小写,请使用

option = RegexOption.IGNORE_CASE

只是为了完整起见,我想在Unicode中添加正则表达式的解决方案:

std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);

if (std::tr1::regex_match(szString, pattern))
{
...
}

您还可以将您要检查模式匹配的初始字符串引导为小写。在你的图案中分别使用小写符号。

在JavaScript中,你应该像MDN中那样将i标志传递给RegExp构造函数:

const regex = new RegExp('(abc)', 'i');

regex.test('ABc'); // true

正则表达式验证'abc'忽略大小写敏感

(?i)(abc)