c#将字符串列表与正则表达式列表进行比较

c#将字符串列表与正则表达式列表进行比较,c#,regex,C#,Regex,我有两份清单;一个包含我要测试的字符串,另一个包含正则表达式作为字符串。 我想让它测试StringList中的每个项目,以便使用RegexList中的每个项目测试regex.IsMatch 实现这一点最简单的方法是什么? 我必须先提取包含正则表达式的字符串吗?或者可以不提取正则表达式吗?可以使用foreach语句来提取 foreach(string item in StringList) { foreach(var reg in regexList) { if(reg.IsMat

我有两份清单;一个包含我要测试的字符串,另一个包含正则表达式作为字符串。
我想让它测试StringList中的每个项目,以便使用RegexList中的每个项目测试
regex.IsMatch

实现这一点最简单的方法是什么?
我必须先提取包含正则表达式的字符串吗?或者可以不提取正则表达式吗?

可以使用foreach语句来提取

foreach(string item in StringList)
{
  foreach(var reg in regexList)
  {
    if(reg.IsMatch(item))
     ///Do something 
  }
}

是否要检查字符串是否与任何正则表达式匹配?如果是这样的话,你能把这些表达式连接在一起,然后与之匹配吗?类似于
var regex=newregex(regexlist.Join(“|”);foreach(strings..s){regex.IsMatch(s);}
。正则表达式已经以字符串格式存在于正则表达式列表中。我想检查StringList中的每个字符串和RegexList中的每个正则表达式。但这是两个简单的for循环,还是我遗漏了什么?如果(Regex.IsMatch(item,reg))?@user123456是的,这是正确的方法。但是:创建正则表达式非常昂贵。Net实习生最后使用的15个正则表达式-因此,如果正则表达式列表长于15个,那么循环的开销将非常大,因为必须不断创建新的正则表达式。在这种情况下,最好只创建一次正则表达式,然后循环遍历这个正则表达式列表。我昨天分析了一个应用程序,它没有正确地插入正则表达式-更改它可以减少30%的处理时间(一行代码!)