如何使下面的正则表达式忽略大小写敏感性?它应该匹配所有正确的字符,但忽略它们是小写还是大写。
G[a-b].*
如何使下面的正则表达式忽略大小写敏感性?它应该匹配所有正确的字符,但忽略它们是小写还是大写。
G[a-b].*
当前回答
在JavaScript中,你应该像MDN中那样将i标志传递给RegExp构造函数:
const regex = new RegExp('(abc)', 'i');
regex.test('ABc'); // true
其他回答
只是为了完整起见,我想在Unicode中添加正则表达式的解决方案:
std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);
if (std::tr1::regex_match(szString, pattern))
{
...
}
科特林:
"G[a-b].*".toRegex(RegexOption.IGNORE_CASE)
(gG) [aAbB]。*如果图案不是太复杂或太长,可能是简单的解决方案。
正如我从这篇类似的文章中发现的那样(在AWK中ignorecase),在老版本的AWK上(比如在普通的Mac OS X上),你可能需要使用'tolower($0) ~ /pattern/'。
IGNORECASE或(?i)或/pattern/i将为每一行生成一个错误或返回true。
取决于实现 但我会用
(?i)G[a-b].
变化:
(?i) case-insensitive mode ON
(?-i) case-insensitive mode OFF
现代正则表达式风格允许您仅对正则表达式的一部分应用修饰符。如果在正则表达式的中间插入修饰符(?im),则该修饰符仅适用于正则表达式中修饰符右侧的部分。对于这些口味,您可以通过在它们前面加上负号(?-i)来关闭模式。
描述来自本页: https://www.regular-expressions.info/modifiers.html