【问题标题】:HTML Regex CompositionHTML 正则表达式组合
【发布时间】:2010-10-06 11:24:16
【问题描述】:

我正在尝试使用正则表达式在 HTML 中捕获 img 标记...

所以这些必须被捕获:

<img/>
< img id = "f" />

我用过:

"<\s*img(\s.*?)?/>"

但这是错误的:

< img id = "/>" />

知道如何捕获 img 标签吗??

谢谢

【问题讨论】:

  • 您使用的是哪种正则表达式,Perl、JavaScript、.NET...?你真的有在左尖括号和标签名称之间有空格的标签吗?我认为这在 HTML 中是不合法的。

标签: regex html-parsing


【解决方案1】:

严肃地说:改用 xml 解析器。

"<\simg\sid\s=\s\"(.*?)\"\s/>"

此外,您应该考虑使用像 regex buddy 这样的正则表达式测试套件。

这也可能是一本好书:RegEx match open tags except XHTML self-contained tags

【讨论】:

    【解决方案2】:
    "<\s*img\s(?:.+?\s*=\s*(\"|')?.*?\1\s*)?/>"
    

    我认为这应该考虑引号。不过没有测试。

    【讨论】:

      【解决方案3】:

      你可以使用这个正则表达式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-29
        • 2015-02-27
        • 1970-01-01
        相关资源
        最近更新 更多