我有这样的一句话:
<a href="/verona/4mktg-for-marketing.8526695" title="4MKTG FOR MARKETING SRL">4MKTG FOR MARKETING <strong>SRL</strong> </a>
我需要该字段的标题。我将字符串拆分为'title =“'然后检查它是否与此正则表达式匹配:"[0-9A-Z /.]{3,}"
。但它不起作用...
该字段仅包含数字,大写字母,空格和点
谢谢
的Davide
答案 0 :(得分:3)
在处理HTML时,不应使用正则表达式,而应使用JSoup。
Document doc = Jsoup.parse(html);
Element links = doc.select("a");
for (Element l : links) {
// grab the title attribute value
System.out.println(l.attr("title"));
}
答案 1 :(得分:2)
答案 2 :(得分:2)
如果您需要使用正则表达式(并使用java.util.regex
),请参阅this answer,考虑使用Java中的类似PERL的正则表达式:
str = '<a href="/verona/4mktg-for-marketing.8526695" title="4MKTG FOR MARKETING SRL">4MKTG FOR MARKETING <strong>SRL</strong> </a>';
str = str.replaceAll('.* title="([\s\.A-Z0-9]+)".*', "$1");