2023-08-23 07:00:04

Regex:忽略大小写

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

G[a-b].*

当前回答

你可以使用查找/替换在Visual Studio和Visual Studio Code中练习Regex。

对于带大小写的正则表达式,需要同时选择“匹配大小写”和“正则表达式”。否则[A-Z]行不通。在这里输入图像描述

其他回答

C#

using System.Text.RegularExpressions;
...    
Regex.Match(
    input: "Check This String",
    pattern: "Regex Pattern",
    options: RegexOptions.IgnoreCase)

options: RegexOptions。IgnoreCase

JavaScript

如果你想让它不区分大小写,只需在regex的末尾添加i:

“测试”.match (/ [a - z] / gi) / /返回(“T”、“e”、“s”、“T”)

没有我

'Test'.match(/[A-Z]/g) //返回["T"]

只是为了完整起见,我想在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)

取决于实现 但我会用

(?i)G[a-b].

变化:

(?i) case-insensitive mode ON    
(?-i) case-insensitive mode OFF

现代正则表达式风格允许您仅对正则表达式的一部分应用修饰符。如果在正则表达式的中间插入修饰符(?im),则该修饰符仅适用于正则表达式中修饰符右侧的部分。对于这些口味,您可以通过在它们前面加上负号(?-i)来关闭模式。

描述来自本页: https://www.regular-expressions.info/modifiers.html