在 Android SDK 上工作,它是 Java 减去一些东西。
我有一个从网页中提取两个正则表达式模式的解决方案。我遇到的问题是它在 HTML 标记中查找内容。我尝试了 jTidy,但它在 Android 上太慢了。不知道为什么,但我的扫描仪正则表达式匹配解决方案多次鞭打它。
目前,我将页面源抓取到 IntputStream
is = uconn.getInputStream();
以及这样的匹配和提取:
Scanner scanner = new Scanner(in, "UTF-8");
String match = "";
while (match != null) {
match = scanner.findWithinHorizon(extractPattern, 0);
if (match != null) {
String matchit = scanner.match().group(grp);
它工作得很好而且速度很快。
我的正则表达式模式已经有点疯狂了,实际上是一个或这样的两个模式 (p1|p2)
关于我如何做到这一点“但不在 HTML 标签内”或在开始时排除 HTML 标签的任何想法?如果我可以从我的源代码中排除 HTML 标签,这可能会显着加快我的界面速度,因为我还有一些其他事情需要处理原始数据。