c# Regex如何将所有匹配项快捷化

本文关键字:Regex | 更新日期: 2023-09-27 18:08:44

    var match = Regex.Match(GetActiveWindowTitle(), "(?i)ab.*?");
    var match2 = Regex.Match(GetActiveWindowTitle(), "(?i)bc.*?");
    var match3 = Regex.Match(GetActiveWindowTitle(), "(?i)de.*?");
    var match4 = Regex.Match(GetActiveWindowTitle(), "(?i)ef.*?");
    var match5= Regex.Match(GetActiveWindowTitle(), "(?i)gh.*?");
    var match6= Regex.Match(GetActiveWindowTitle(), "(?i)ij.*?");
    var match7 = Regex.Match(GetActiveWindowTitle(), "(?i)kl.*?");
 if (match4.Success || match.Success || match2.Success || match3.Success etc....)
            {
                MessageBox.Show("Sucess");
            }

如何使我的东西更短,是否有任何Regex类函数来重新组合许多匹配?

c# Regex如何将所有匹配项快捷化

"(?i)(?:ab|bc|de|ef|gh|ij|kl).*?"

使用管道|令牌进行替换

注意,?:表示这些是"非捕获括号"。这是可选的,但通常是为了性能而这样做,以表明您不需要捕获括号内的内容(默认行为)。在本例中,我们只使用圆括号来括起替代选项。