正则表达式获取span标记

时间:2014-06-04 04:55:46

标签: regex

我可以知道匹配html标记的正则表达式规则是什么 测试

匹配标记SPAN,无论其中的属性如何。

我现有的规则是这样,但不起作用。

/(<span [^>]*>)>/s

感谢。

3 个答案:

答案 0 :(得分:7)

大卫,(<span [^>]*>)>的原因是你有一个小错字。

您看,该表达式尝试匹配两个结束>:仔细查看结尾>)>。例如,它匹配<span hey there>>但不匹配<span hey there>

要匹配开头范围,请确保只有一个>

关于使用正则表达式匹配html的所有免责声明,此正则表达式将执行:

<span[^>]*>

如果您有时期望SPAN,请确保使其不区分大小写。

只有你有时间:额外的蓬勃发展

在评论中,@ David Ehrmann指出上面的正则表达式将匹配<spanner>。如果你想让他开心,并确保如果跨度不仅仅是<span>,它总是在span之后包含一个空格,你可以使用:

<span(?: [^>]*)?>

然而,在我看来,这是一种不必要的繁荣。当我们使用正则表达式解析html时,我们总是知道我们正在使用粗糙的工具,并且我们依赖于输入是相当良好的。例如,通过上面修改的正则表达式,我们仍然有一百万种方法可以匹配不正确的html,例如:<span classification>

怎么办?没有。了解您的工具,了解他们可以做什么,了解风险,并确定情况何时保证正则表达式以及何时保证DOM解析器。

答案 1 :(得分:1)

/<span[^>]*>[^>]*<\/span>/

答案 2 :(得分:1)

请看这里Regex for Html Tags

试试这个

<span[^>]*>[\s\S]+<\/span>

<强> Regex Demo


O / P:

enter image description here