0

我已经实现了 AsyncTask,其中用户提供的正则表达式被用于匹配巨大的 html 代码数据。然而,由于一些正则表达式包含大量量词/回溯,Matcher.find() 变得无限。

我曾尝试使用此处提供的InterruptibleCharSequenceHow to terminate Matcher.find(), when its running too long? ,但似乎charAt永远不会被调用,所以永远不会被打断。我最后的猜测是创建一个新进程来运行这个常规匹配过程,然后在取消搜索时将其终止。但是,由于进程不同,我在 Service 和 Activity 之间共享对象时遇到了问题。

4

1 回答 1

-3

使用 RegEx 解析 HTML 是个坏主意,请参阅:Parsing Html The Cthulhu Way

那么解析 DOM 呢?不久前我尝试了jsoup,发现它非常好用。

于 2013-07-16T11:42:56.280 回答