繁体   English   中英

正则表达式,用于在HTML中查找特定标签[重复]

[英]Regex to find a specific tag in HTML [duplicate]

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

我有一堆HTML,但我不知道要尝试在特定标记中查找和替换特定属性的值的任何信息。 因此,我想捕获具有我的匹配属性的整个标签。 标签中也可以有任意数量的未知属性。 假设我有以下HTML(全部在一行上),其中xxxx =“ zzzz”表示任意数量的未知属性。 我只想捕获具有content =“ 320”的元标记

我的问题是,即时通讯会在包含实际要查找的实际属性的每个metatag之前获取。

<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]\\".*?

示例: http//refiddle.com/refiddles/5b10282175622d3008480000

贪婪(。*)和方括号是RegEx中的控制字符,这是一个小问题。

<meta[^>]*\scontent\s*=\s*"\[320\]"[^>]*>

检索您所要求的文字内容content="[320]"的一个meta标记。

试试看。 我在Online Regex https://regex101.com中对其进行了测试。

<meta.+content="320">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM