【问题标题】:Regular Expression in .NET to parse HTML [duplicate].NET 中用于解析 HTML 的正则表达式 [重复]
【发布时间】:2014-03-15 00:49:51
【问题描述】:

我正在尝试使用正则表达式来匹配文本文件中的以下内容,其中字符串中的orlst 部分可以是任何字符 a-Z:

<frame src="orlst.html" name="list">

到目前为止,我只能使用(&lt;frame src=) 的模式来返回任何结果。但它只在matches集合中返回&lt;frame src=

有什么想法可以添加到我的模式中以返回我正在寻找的东西吗?

【问题讨论】:

  • HTML 不是正则语言,因此无法使用正则表达式进行可靠解析。在这个特定的实例中,您也许可以让它为您工作,但最好使用 HTML 解析库。

标签: c# .net regex expression


【解决方案1】:

这就是你要找的吗?

(<frame src="[a-zA-Z]*.html" name="list">)

它匹配您的测试字符串和任何“orlist”部分是一系列字母的字符串。就像其他人评论的那样,使用 HTML 解析器可能会更好。

【讨论】:

    【解决方案2】:

    尝试使用 HTML 敏捷包,这是一个使用正则表达式和图像的示例

            HtmlWeb web = new HtmlWeb();
            HtmlDocument doc = web.Load(link);
            doc.OptionUseIdAttribute = true;
            doc.OptionFixNestedTags = true;
            string Img=string.Empty ;
            if (doc.DocumentNode != null)
            {
                try {
                    HtmlNode img3 = doc.DocumentNode.SelectSingleNode("//*[@class=\"thumb\"]//img[@src]");
                    Img = img3.Attributes["src"].Value;
                }
                catch {
                    Img = "";
                };
            }
    

    【讨论】:

    • 我最初尝试了 HTML Agility 包,但并没有取得多大成功。我试图通过查看子节点来查看是否可以获取任何信息。我试图解析的 HTML 代码来自这个站点。 (raws.dri.edu/wraws/ccaF.html)
    • 建议站点正在使用框架,您是否尝试过使用原始 URL www.raws.dri.edu/wraws/cca.html,有很多使用该包的帖子,所以您应该可以拉你需要什么
    • 这就是我所采取的方向,我正在打开框架中的页面并使用 HTMLAgilitypack 提取数据
    • 很高兴听到,如果你遇到困难会尽力帮助,祝你好运
    猜你喜欢
    • 1970-01-01
    • 2018-04-29
    • 2011-01-23
    • 2019-10-18
    • 2016-06-15
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多