java正则表达式性能_Java正则表达式性能

我正在尝试使用

Java解析带有正则表达式的链接.

但我认为它变得太慢了.例如,要从以下位置提取所有链接:

……花了34642毫秒(34秒!!!)

这是正则表达式:

private final String regexp = "|>)";

模式的标志:

private static final int flags = Pattern.CASE_INSENSITIVE | Pattern.DOTALL |Pattern.MULTILINE | Pattern.UNICODE_CASE | Pattern.CANON_EQ;

代码可能是这样的:

private void processURL(URL url){

URLConnection connection;

Pattern pattern = Pattern.compile(regexp, flags);

try {

connection = url.openConnection();

InputStream in = connection.getInputStream();

BufferedReader bf = new BufferedReader(new InputStreamReader(in));

String html = new String();

String line = bf.readLine();

while(line!=null){

html += line;

line = bf.readLine();

}

bf.close();

Matcher matcher = pattern.matcher(html);

while (matcher.find()) {

System.out.println(matcher.group(2));

}

} catch (Exception e){

}

}

你能给我一个提示吗?

额外数据:

为1Mbit

Core 2 Duo

1Gb RAM

单螺纹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值