如何从正则表达式获取每个模式

时间:2017-12-05 07:12:49

标签: c# c#-4.0

var patterns = new string[] { @"Regex 1 Pattern", @"Regex 2 Pattern", @"Regex 3 Pattern" }; 

var rx = new Regex(string.Join("|", patterns), RegexOptions.IgnoreCase);

在上面的代码中,如何显示 rx 值。

1 个答案:

答案 0 :(得分:2)

根据docs,您可以在toString对象上调用Regex,它将:

  

返回传递给Regex构造函数的正则表达式模式。

在这种情况下,你的串联字符串!

rx.toString()

或者,为什么不首先将字符串放入变量中,然后将其传递给正则表达式构造函数:

var regexString = string.Join("|", patterns);
Console.WriteLine(regexString); // Here you can print the regex out now!
var rx = new Regex(regexString, RegexOptions.IgnoreCase);

如果您想逐个获取模式,只需使用foreach循环:

foreach(var pattern in patterns) {
    Console.WriteLine(pattern);
}