我正在尝试提取一个永久性表达后的特定单词(可能会更改)。我想在以下代码中提取名称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">).*
将为任何建议感到高兴。
答案 0 :(得分:0)
我建议您使用HTML解析库(例如Java中的Jsoup或Python中的beautifulsoup)来解析HTML,而不是将正则表达式用于this reason
以下是为您完成工作的那种代码,
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>
使用此正则表达式并捕获来自group1的数据。