2011-04-26 109 views
-1

如果我想获得以下内容的当前价格416.00,我可以用什么正则表达式来获得它?网页中有些地方内容相似,除了我想要的字词Discount在当前价格之后几行之后。 416,52020%是可变的。谢谢。关于正则表达式的一些东西

<tr> 
    <td class="txt_11px_b_EB6495" width="50" nowrap>Current Price?</td> 
    <td class="txt_11px_b_EB6495">HK$ 416.00</td> 
</tr> 
<tr> 
    <td class="txt_11px_n_999999">Original price?</td> 
    <td class="txt_11px_n_999999">HK$ 520.00</td> 
</tr> 
<tr> 
    <td class="txt_9px_n_999999">&nbsp;</td> 
    <td class="txt_9px_n_999999">Discount 20%</td> 
</tr> 
+5

哦,不,不会再... – 2011-04-26 05:01:06

+0

您正在使用什么语言相匹配? – Kobi 2011-04-26 05:06:07

回答

0

使用HTML解析器获取文本节点,然后使用正则表达式提取价格。

你会使用类似...

\d+(?:\.\d{2}|%) 

我只是测试它和它匹配...

  • 416.00
  • 520.00
  • 20%

我认为(我不清楚)你想要的价格es 折扣百分比。我也匹配%,所以你可以知道比赛中的比例是多少。

1

您可以使用

" (\d+\.\d*)</td>" 

这将520.00,2.00,123.1和123

+0

我认为这个更正版本会做得很好。 '(\ d + \。\ d *)' – abi1964 2011-04-26 06:45:26

+0

实际上网页上还有其他当前的价格信息,我想要捕获的是第11行html代码之后的“Discount”。因此,如果只使用(\ d + \。\ d $)将获得其他当前价格 – hosir 2011-04-26 09:44:31