2010-04-27 59 views
0

我的HTML看起来像这样:如何从这个HTML提取产品的重量

<td class="main"><b>Product Weight (2.83 lbs in 1 container)</b></td> 

我需要从HTML值2.83。

需要帮助的正则表达式。

我有这样的:

Pattern p = Pattern.compile(

    "<td\\sclass=\"main\"><b>Product\\sWeight\\s\\s((?:\\d+\\.)?\\d+ \\w{3})"); 

但似乎并不奏效。

我是否错过了一次逃生?

更新

如果括号内是一个问题,我只是做(或内支架也?

回答

2

你好像缺少文字括号逃跑。

1

为了得到具体的html标签,我推荐使用正则表达式的HTML解析器。 例如你可以使用this html解析器。

+0

好的本能,但是OP没有试图解析HTML,ju st scrape正好被标签包围的数据。 – Etaoin 2010-04-27 18:33:03

+0

对htmlparser +1,你可能也想看看[jsoup](http://jsoup.org) 也看到很多关于SO警告反对尝试使用正则表达式来解析HTML的答案。 – 2010-04-27 18:36:35

+0

你说得对,如果这个单一的数据提取是一切都要完成的话,那么设置一个解析器会有点矫枉过正。 – Ham 2010-04-27 18:37:19

相关问题