我只需要使用Regex提取以下输出:
提供以下输入:
<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进行评论。
答案 0 :(得分:1)
您可以在开始时匹配col-3">
,然后捕获第一组的非<
个字符,匹配</div>
,后跟非>
的字符,然后捕获第二组再次使用非<
个字符:
col-3">([^<]+)<\/div>[^>]+>([^<]+)
https://regex101.com/r/YAZFvV/1
(也就是说,如果可能的话,最好使用合适的HTML解析器)