我如何优化这些正则表达式搜索?目前,我的手机最多需要5秒钟
<div class="field-items">.+?sms-notregion
(?<=de/ort/)[^"]+
(?<=sms-share-id sms-tagline-elem">#)\d+
sms-participant-.+?</div></div>
(?<=sms-participant-)\d
(?<=sms-tag">)\d+:\d+
(?<=sms-bubble">).+?(?=</div>)
我首先搜索对话,然后搜索其中的单个邮件,等等。
例如,我有这个网站,我匹配:http://pastebin.com/uun0uKL1
更新即可。事实证明,我的正则表达式不是我的代码的缓慢部分,而是使用Html.fromhtml(),我试图使用它来unescape html特殊字符。
答案 0 :(得分:3)
Don't parse HTML with RegExes.只是不要。
相反,我找到了一个名为jsoup的优秀Java库,它可以快速解析HTML。
以下是使用jsoup的例子:
Document doc = Jsoup.connect("http://example.com/").get();
Elements elements = doc.select("div.sms-tag");
// Then iterate over those elements
for (Element element : elements) {
String time = element.text();
}
这样的东西。查看their "cookbook"也可能会有所帮助。