正则表达式在HTML中查找特定标记

时间:2018-05-31 16:54:04

标签: c# .net regex

我有一大块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]\".*?

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

2 个答案:

答案 0 :(得分:1)

贪婪(。*)有一个小问题,并且方括号是RegEx中的控制字符......你几乎就在那里......如果我理解正确的话......

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

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

答案 1 :(得分:0)

试一试。我在Online Regex https://regex101.com中测试了它。

sort