Ruby Regex提取数字

时间:2013-05-14 04:36:27

标签: ruby

我想抓住td之间的数字并将其存储在数据中。我使用*来表示我想要的信息。

data = data.match(<td class="yfnc_tabledata1">*</td>)

2 个答案:

答案 0 :(得分:2)

我相信抓取一个或多个数字的正则表达式是/>(\d+)</,这意味着一个或多个数字(我相信,在正则表达式上不太好)。我使用http://nokogiri.org/进行html解析。

答案 1 :(得分:2)

一般来说,抓取数字的正则表达式是非常复杂的,因为数字有各种形状和颜色。您需要确定您感兴趣的各种数字,整数,有/无符号,浮点数,指数表示法,接受/不接受前导+ ...尝试查看http://regexlib.com以获取适合您的正则表达式需要。当然,正如评论中所建议的那样,请不要使用regexen解析标记语言。

例如,从上面引用的网站,您可以找到正则表达式:

/^[-+]?\d+(\.\d+)?$/

带描述:匹配任何实数,可选的小数点和小数点后的数字,以及可选的正(+)或负( - )名称。

您是否要将您的正则表达式括在^$中,或者您对此有什么要求,由您决定。数字前面或后面的空格等。请注意,我只给出匹配(即验证)这些数字的正则表达式示例,实际抓住它们,你必须关心那些[+-]迹象。