正则表达式获取span标记

dav*_*lee 5 regex

我可以知道匹配html标签Test的正则表达式规则是什么

与标签SPAN匹配,无论其中的属性如何.

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

/(<span [^>]*>)>/s
Run Code Online (Sandbox Code Playgroud)

谢谢.

zx8*_*x81 7

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

你看,该表达式尝试匹配两个结束>:仔细观察结尾>)>.例如,它会匹配<span hey there>>但不匹配<span hey there>

要匹配开口范围,请确保您只有一个>.

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

<span[^>]*>
Run Code Online (Sandbox Code Playgroud)

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

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

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

<span(?: [^>]*)?>
Run Code Online (Sandbox Code Playgroud)

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

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


Vig*_*r A 6

看看这里的正则表达式为 Html 标签

尝试这个

<span[^>]*>[\s\S]+<\/span>
Run Code Online (Sandbox Code Playgroud)

正则表达式演示


开/关:

在此处输入图片说明