使用RegEx成对匹配来自HTML的值

时间:2019-01-23 06:52:56

标签: regex

我只需要使用Regex提取以下输出:

  • 第1场:(第1组:包装数量)(第2组:1)
  • 比赛2 :(组1:宽度)(组2:14.7厘米)

提供以下输入:

<li>
  <div class="col-3"> Packaged Quantity </div>
  <div class="col-5"> 1 </div>
</li>
<li>
  <div class="col-3"> Width </div>
  <div class="col-5"> 14.7 cm </div>
</li>

到目前为止,我已经尝试使用:

(?<=class=\"col-3\">)[^<]+|(?<=class=\"col-5\">)[^<]+

这给了我4种不同的比赛。但是我要两场比赛,每场比赛有两个小组。我知道我可以使用xpath来做同样的事情,但由于某些约束,我无法使用Regex进行评论。

1 个答案:

答案 0 :(得分:1)

您可以在开始时匹配col-3">,然后捕获第一组的非<个字符,匹配</div>,后跟非>的字符,然后捕获第二组再次使用非<个字符:

col-3">([^<]+)<\/div>[^>]+>([^<]+)

https://regex101.com/r/YAZFvV/1

(也就是说,如果可能的话,最好使用合适的HTML解析器)