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

4

1 回答 1

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

使用管道|令牌进行交替。

请注意,?:表示这些是“非捕获括号”。它是可选的,但通常是为了性能而完成的,以表明您不需要捕获括号内的内容(默认行为)。在这种情况下,我们只使用括号来包含替代选项。

于 2013-04-12T11:39:31.980 回答