帮助使用正则表达式.需要提取“
本文关键字:HREF 提取 正则表达式 帮助 | 更新日期: 2023-09-27 17:50:43
我有<A HREF="f110111.ZIP">
和f110111
-是一个任意字符序列。我需要c# regex匹配表达式来提取以上所有内容。
E。G.输入
<A HREF="f110111.ZIP"><A HREF="qqq.ZIP"><A HREF="gygu.ZIP">
我想要列表:
- f110111.ZIP
- qqq.ZIP
- gygu.ZIP
您所需要的是html插件包/!这将允许您以一种简单的方式阅读HTML,并提供一种简单的方法来检索链接。
如果文件名中可以有多个点:
<A HREF="(^["]+?).zip
如果文件名中没有点(zip
前面只有一个点),您可以使用更快的点:
<A HREF="(^[".]+)
c#示例:
Pattern pattern = Pattern.compile("<A HREF='"(^['"]+?).zip");
Matcher matcher = pattern.matcher(buffer);
while (matcher.find()) {
// do something with: matcher.group(1)
}
NO NO!不要使用Regex解析HTML!
尝试XML解析器。或者XPath
试试这个:
/<a href="([^">]+.ZIP)/gi
我认为正则表达式是一种从给定文本中过滤文本的好方法。
这个正则表达式从给定的文本中获取文件,文件名和扩展名。
href="(?<File>(?<Filename>.*?)(?<Ext>'.'w{1,3}))"
上面的Regex期望一个存在于单词字符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);
我有<A HREF="f110111.ZIP">
和f110111
-是一个任意字符序列。我需要c# regex匹配表达式来提取以上所有内容。
E。G.输入
<A HREF="f110111.ZIP"><A HREF="qqq.ZIP"><A HREF="gygu.ZIP">
我想要列表:
- f110111.ZIP
- qqq.ZIP
- gygu.ZIP
您所需要的是html插件包/!这将允许您以一种简单的方式阅读HTML,并提供一种简单的方法来检索链接。
如果文件名中可以有多个点:
<A HREF="(^["]+?).zip
如果文件名中没有点(zip
前面只有一个点),您可以使用更快的点:
<A HREF="(^[".]+)
c#示例:
Pattern pattern = Pattern.compile("<A HREF='"(^['"]+?).zip");
Matcher matcher = pattern.matcher(buffer);
while (matcher.find()) {
// do something with: matcher.group(1)
}
NO NO!不要使用Regex解析HTML!
尝试XML解析器。或者XPath
试试这个:
/<a href="([^">]+.ZIP)/gi
我认为正则表达式是一种从给定文本中过滤文本的好方法。
这个正则表达式从给定的文本中获取文件,文件名和扩展名。
href="(?<File>(?<Filename>.*?)(?<Ext>'.'w{1,3}))"
上面的Regex期望一个存在于单词字符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);