首页 > 解决方案 > 将多个字符串与多个正则表达式进行比较 C#

问题描述

我有一个具有不同名称的字符串数组,并且我有许多不同的正则表达式,我想知道是否有一种方法可以将我的所有字符串与其中一个表达式匹配,以便如果其中一个字符串 DOES'NT 匹配,那么我可以调用出来?到目前为止,我已经把它写成了一种方法,任何帮助都会很棒

public string[] ValidateNames(List<string> l,List<string> regex, string[] s)
{
    foreach(var item in l)
    {
        for (Pattern rx : regex) if (rx.IsNotMatch(item)) 
        {
            s.Add(r.Match(item).Value);
        }
    }

    return s;
}

我刚开始学习 c#,所以我不知道 (Pattern rx : regex) 是否有效。

标签: c#.netregex

解决方案


您可以使用以下代码:

public List<string> ValidateNames(List<string> inputList, List<string> patternList)
{
    var missMatchInputList = new List<string>();

    foreach (var input in inputList)
        foreach (var pattern in patternList)
            if (!Regex.IsMatch(input, pattern))
            {
                missMatchInputList.Add(input);
                break;
            }

    return missMatchInputList;
}

推荐阅读