我可以知道匹配html标签Test的正则表达式规则是什么
与标签SPAN匹配,无论其中的属性如何.
我现有的规则是这样,但不起作用.
/(<span [^>]*>)>/s
Run Code Online (Sandbox Code Playgroud)
谢谢.
大卫,原因(<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解析器.