我需要使用正则表达式来查找HTML页面的特定词? [关闭]

问题描述 投票:-3回答:1

我试图提取特定单词(可能发生变化),它而来的,是永久的表情后。我想提取这个代码名称Taldor

<h4 class="t-16 t-black t-normal">
    <span class="visually-hidden">Company Name</span>
    <span class="pv-entity__secondary-title">Taldor</span>
</h4>

现在我能找到<h4 class="t-16 t-black t-normal">使用此正则表达式:

(?<=<h4 class="t-16 t-black t-normal">).*

会很乐意为任何样的建议。

regex regex-group regex-greedy
1个回答
0
投票

我建议你使用一个HTML解析库象Java Jsoupbeautifulsoup在Python解析而不是使用正则表达式this reason HTML

以下是做这项工作对你的那种代码,

String s = "<h4 class=\"t-16 t-black t-normal\">\r\n" + 
        "    <span class=\"visually-hidden\">Company Name</span>\r\n" + 
        "    <span class=\"pv-entity__secondary-title\">Taldor</span>\r\n" + 
        "  </h4>";
Document doc = Jsoup.parse(s);
for (Element element : doc.getElementsByClass("pv-entity__secondary-title")) {
    System.out.println(element.text());
    break;
}

打印,

Taldor

在最坏的情况下,如果你正在做一些快速和肮脏的工作,你可以使用正则表达式做这个临时的解决方案,但它肯定是不建议做的事情。

<span class="pv-entity__secondary-title">(.*?)<\/span>

使用此正则表达式和1组捕获数据。

Demo

© www.soinside.com 2019 - 2024. All rights reserved.