C#Regex如何快捷所有这些匹配

时间:2013-04-12 11:37:34

标签: c# .net regex

    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类函数可以重新组合多个匹配项?

1 个答案:

答案 0 :(得分:6)

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

使用管道|令牌进行更改。

请注意,?:表示这些是“非捕获括号”。它是可选的,但通常是为了表示您不需要捕获括号内的内容(默认行为)。在这种情况下,我们只使用括号括起交替选项。