假设我有三个正则表达式存储在3个变量中,如下所示;
string regex1 = @"Regex 1 Pattern";
string regex2 = @"Regex 2 Pattern";
string regex3 = @"Regex 3 Pattern";
现在我通过一个文本框传递一个字符串进行测试,我怎样才能将它全部与声明的正则表达式进行比较,在匹配时如何在匹配的正则表达式中检索它的值?
根据单一模式进行比较,代码如下:
Regex r = new Regex(regex1, RegexOptions.IgnoreCase);
但我希望我的字符串能够通过所有声明的模式。
答案 0 :(得分:3)
您需要创建一个模式列表(您不仅限于3个),然后,您将能够检查输入字符串是否匹配。
var patterns = new string[] { @"Regex 1 Pattern", @"Regex 2 Pattern", @"Regex 3 Pattern" };
var rx = new Regex(string.Join("|", patterns), RegexOptions.IgnoreCase);