C# 帮助使用正则表达式。需要提取`

C# 帮助使用正则表达式。需要提取`,c#,.net,regex,C#,.net,Regex,我有和f110111-是一个任意字符序列。 我需要C正则表达式匹配表达式来提取以上所有内容 例如。输入是 我想要一份清单: f110111.ZIP qqq.ZIP gygu.ZIP 不,不 试试XML解析器。也许吧。不,不 试试XML解析器。或者可能。您需要的是!这将允许您以简单的方式阅读HTML,并提供检索链接的简单方法。您需要的是!这将允许您以简单的方式读取HTML,并提供一种检索链接的简单方法。如果文件名中有多个点: <A HREF="(^["]+?).zip C例如: Patte

我有和f110111-是一个任意字符序列。 我需要C正则表达式匹配表达式来提取以上所有内容

例如。输入是

我想要一份清单:

f110111.ZIP qqq.ZIP gygu.ZIP 不,不

试试XML解析器。也许吧。

不,不


试试XML解析器。或者可能。

您需要的是!这将允许您以简单的方式阅读HTML,并提供检索链接的简单方法。

您需要的是!这将允许您以简单的方式读取HTML,并提供一种检索链接的简单方法。

如果文件名中有多个点:

<A HREF="(^["]+?).zip
C例如:

Pattern pattern = Pattern.compile("<A HREF=\"(^[\"]+?).zip");

Matcher matcher = pattern.matcher(buffer);
while (matcher.find()) {
    // do something with: matcher.group(1)
}

如果文件名中可以有多个点:

<A HREF="(^["]+?).zip
C例如:

Pattern pattern = Pattern.compile("<A HREF=\"(^[\"]+?).zip");

Matcher matcher = pattern.matcher(buffer);
while (matcher.find()) {
    // do something with: matcher.group(1)
}
试试这个:

/<a href="([^">]+.ZIP)/gi
试试这个:

/<a href="([^">]+.ZIP)/gi

我认为正则表达式是从给定文本中过滤文本的好方法

href="(?<File>(?<Filename>.*?)(?<Ext>\.\w{1,3}))"
这个正则表达式从给定的文本中获取文件、文件名和扩展名

href="(?<File>(?<Filename>.*?)(?<Ext>\.\w{1,3}))"
上面的正则表达式要求一个扩展名存在于字字符a-z a-z 0-9之外,介于1到3个字符之间

C代码示例:

string regex = "href=\"(?<File>(?<Filename>.*?)(?<Ext>\\.\\w{1,3}))\"";
RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
Regex reg = new Regex(regex, options);

我认为正则表达式是从给定文本中过滤文本的好方法

href="(?<File>(?<Filename>.*?)(?<Ext>\.\w{1,3}))"
这个正则表达式从给定的文本中获取文件、文件名和扩展名

href="(?<File>(?<Filename>.*?)(?<Ext>\.\w{1,3}))"
上面的正则表达式要求一个扩展名存在于字字符a-z a-z 0-9之外,介于1到3个字符之间

C代码示例:

string regex = "href=\"(?<File>(?<Filename>.*?)(?<Ext>\\.\\w{1,3}))\"";
RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
Regex reg = new Regex(regex, options);

不,不,不,用大写字母C来解析完整的HTML文档是疯狂的。@vbence:True:但OP没有指定有多少链接。无论如何,如果试图使用正则表达式匹配所有可能的场景,您最终会感到沮丧。我可以想到使用正则表达式比使用DOM树更健壮的情况,例如,如果链接不在统一的位置。这正是Regex构建的目的。使用正确的工具完成正确的工作。@Mike Caron,尽管HTML是一种基本的树结构。当您想要处理它时,层次结构感知正则表达式不会有多大帮助。-这个问题似乎不需要它,这就是为什么我为正则表达式担保。不,不,用大写字母C解析完整的HTML文档是疯狂的。@vbence:没错:但OP没有指定有多少链接。无论如何,如果试图使用正则表达式匹配所有可能的场景,您最终会感到沮丧。我可以想到使用正则表达式比使用DOM树更健壮的情况,例如,如果链接不在统一的位置。这正是Regex构建的目的。使用正确的工具完成正确的工作。@Mike Caron,尽管HTML是一种基本的树结构。当您想要处理它时,层次结构感知正则表达式不会有多大帮助。-这个问题似乎不需要它,这就是为什么我为正则表达式担保。当你确切地知道你想要什么的时候,为什么你要解析一个完整的html页面?对于这个问题,我觉得有点过分了。当你完全知道自己想要什么的时候,为什么还要解析一个完整的html页面呢?我觉得这个问题有点过分了。