regex - 获取span标签的正则表达式

标签 regex

这个问题在这里已经有了答案:





What to do Regular expression pattern doesn't match anywhere in string?

(8 个回答)


7年前关闭。




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

<span id="id1" class="class1" attribute="attribute1">Test</span>

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

我现有的规则是这样,但不起作用。
/(<span [^>]*>)>/s

最佳答案

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

你看,这个表达式试图匹配 两个关闭 > : 仔细看结尾>)> .例如,它将匹配 <span hey there>>但不是 <span hey there>
要匹配开口跨度,请确保您只有一个 > .

有了关于使用正则表达式匹配 html 的所有免责声明,这个正则表达式将执行以下操作:

<span[^>]*>

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

只有你有时间:额外的繁荣

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

然而,在我看来,这是一种不必要的繁荣。当我们用正则表达式解析 html 时,我们总是知道我们使用的是一个粗略的工具,我们依赖于输入的格式。例如,通过上面修改后的正则表达式,我们仍然可以通过一百万种方式匹配不正确的 html,例如:<span classification>
该怎么办?没有。了解你的工具,知道它们能做什么,了解风险,并决定什么时候需要正则表达式,什么时候需要 DOM 解析器。

关于regex - 获取span标签的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029313/

相关文章:

regex - 如何使用 htaccess 重写从 url 中删除此目录/文件夹?

c# - 如何计算字符串中的Enter?

JQUERY——查找包含在 SPAN 中的文本,并将其作为 <LI> 输出到 <UL>

c# - 如何用 `someObject.ToString()` 替换所有出现的 `Convert.ToString(someObject);`

php - 使用 preg_match_all 匹配模式并排除子字符串

python - 从 Linux 命令或 Python 脚本中提取产品模型

regex - 用空格替换尾随句号

php - htaccess 命令只允许来自同一服务器的请求(不指定 IP)

javascript - 使用正则表达式确定使用 JavaScript 的域

c - 使用 TRE 进行模糊正则表达式匹配