我对正则表达式相当新,并且使用Notepad ++练习一点。我试图从雅虎提取一些股票相关数据,但有点缺乏经验。也许有人可以帮我一臂之力。非常感谢。
我尝试解析的一个例子是:
<strong>230.00</strong></a></td><td class="yfnc_tabledata1"><a href="http://ca.finance.yahoo.com/q?s=AMZN121026C00230000">AMZN121026C00230000</a></td><td class="yfnc_tabledata1" align="right"><b>9.35</b></td><td class="yfnc_tabledata1" align="right"><span id="yfs_c10_amzn121026c00230000"><img style="margin-right:-2px;" src="op_files/up_g.gif" alt="Up" border="0" height="14" width="10"> <span class="yfi-price-change-green">0.35</span></span></td><td class="yfnc_tabledata1" align="right">9.25</td><td class="yfnc_tabledata1" align="right">9.40</td><td class="yfnc_tabledata1" align="right">3,857</td><td class="yfnc_tabledata1" align="right">1,041</td></tr><tr><td class="yfnc_tabledata1" nowrap="nowrap">
我基本上尝试提取数字230.00,9.35,0.35,9.25,9.40,3,857,1041。什么 我到目前为止所管理的是:
<strong>(\d.*?)</strong>.*?<b>(.*?)<
但它确实很慢。到目前为止这是正确的吗?
答案 0 :(得分:0)
可能更快的变体可能是(?<=>)(\d{1,3}(?:,\d{3})*+(?:\.\d+)?)(?=<)
它只匹配&gt;之间的数字。和&lt;忽略其余的......
但请记住,就像SomeKittens说的那样:“一般来说,用正则表达式解析HTML是一个坏主意....”
答案 1 :(得分:0)