【发布时间】:2018-11-10 18:14:24
【问题描述】:
我有一大段 HTML 我对我一无所知我试图在某个标签中查找和替换某个属性的值。所以我想捕获具有我的匹配属性的整个标签。标签中也可以有任意数量的未知属性。假设我有以下 HTML(都在一行上),其中 xxxx="zzzz" 表示任意数量的未知属性。我只想捕获具有 content="320"
的元标记我的问题是,我在包含我正在寻找的实际属性的那个之前获取每个元标记。
<meta charset="UTF-8"><meta name="apple-mobile-web-app-capable" xxxx="zzzz" content="yes"><meta name="apple-mobile-web-app-status-bar-style" xxxx="zzzz" content="default"><meta name="mobile-web-app-capable" xxxx="zzzz" content="yes"><meta name="HandheldFriendly" xxxx="zzzz" content="True"><meta name="MobileOptimized" xxxx="zzzz" content="[320]"><meta name="format-detection" xxxx="zzzz" content="telephone=no"><meta name="title" xxxx="zzzz" content="Regex101">
格式化版本作为视觉辅助:
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" xxxx="zzzz" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" xxxx="zzzz" content="default">
<meta name="mobile-web-app-capable" xxxx="zzzz" content="yes">
<meta name="HandheldFriendly" xxxx="zzzz" content="True">
<meta name="MobileOptimized" xxxx="zzzz" content="320">
<meta name="format-detection" xxxx="zzzz" content="telephone=no">
<meta name="title" xxxx="zzzz" content="Regex101">
这是我正在使用的正则表达式<meta.*?\s+content\s*=\s*\"\[320]\".*?
【问题讨论】:
-
不要使用 Regex 进行 HTML 解析,使用专门的库,如 HTML Agility Pack
-
谢谢,我只是以 HTML 为例,我不是在解析 HTML,而是在解析形成类似的字符串。