使用正则表达式匹配项[C#]从字符串获取列表

使用正则表达式匹配项[C#]从字符串获取列表,c#,C#,如何获取某个字符串中的日期列表?这里如何使用正则表达式 示例:“Lorem aaaa 2019年1月12日FFFFFF DDDD 2019年1月14日NNNN ggg 2019年1月15日cxcccc…” 第二个问题:如何学习使用正则表达式?你能提供一些链接吗?var list=Regex.Matches(“Lorem aaaa 12.01.2019 FFFFFFFFDDDD HHHHHHHH14.01.2019 NNNN ggg 15.01.2019 cxcccc…”,@“\d{2}.\d{2

如何获取某个字符串中的日期列表?这里如何使用正则表达式

示例:“Lorem aaaa 2019年1月12日FFFFFF DDDD 2019年1月14日NNNN ggg 2019年1月15日cxcccc…”


第二个问题:如何学习使用正则表达式?你能提供一些链接吗?

var list=Regex.Matches(“Lorem aaaa 12.01.2019 FFFFFFFFDDDD HHHHHHHH14.01.2019 NNNN ggg 15.01.2019 cxcccc…”,@“\d{2}.\d{2}.\d{4}”)

我还建议您在VisualStudio中使用这个extesion,这是一个非常方便的工具。

您需要首先编写一个模式,以便从提供的字符串中匹配日期

class Program
{
    public static void Main(string[] args)
    {
        List<string> dates = new List<string>();

        string pattern = @"\b\d{2}.\d{2}.\d{4}\b";

        Regex rgx = new Regex(pattern);

        var sentence = "Lorem aaaa 12.01.2019 ffffffffdddddd hhhhhh 14.01.2019 nnnnnn ggg 15.01.2019 cxcccc ....";

        var matches = rgx.Matches(sentence);

        foreach (Match match in matches)
        {
            Console.WriteLine(match.Value);
        }

        Console.ReadLine();
    }
}
类程序
{
公共静态void Main(字符串[]args)
{
列表日期=新列表();
字符串模式=@“\b\d{2}.\d{2}.\d{4}\b”;
正则表达式rgx=新正则表达式(模式);
var-Session=“Lorem aaaa 12.01.2019 FFFFFF DDDD HHHHHHHH14.01.2019 NNNNN ggg 15.01.2019 cxcccc…”;
var matches=rgx.matches(句子);
foreach(匹配中的匹配)
{
控制台写入线(匹配值);
}
Console.ReadLine();
}
}
输出:

下面是一些链接,您可以学习如何构建自己的正则表达式


什么是有效日期?2019年1月15日是有效日期吗?它应该在字符串中匹配吗?真是太棒了^^真正的问题是如何界定每个群体?看起来每个组都以“Lorem aaaa”开头。这是固定宽度的列还是有分隔符?你们把行组合在一起了吗?在组合行之前更容易解析。@mjwills不仅仅是数字))@jdweng,Hi))这只是一个示例,在实际字符串中,将超过1000个单词,我只需要从字符串行中获取所有日期。