正则表达式匹配第一次出现的价格

时间:2013-01-29 19:34:14

标签: ruby regex nokogiri

我正在使用Nokogiri来解析HTML文档。我试图从div中获取价格,我需要使用正则表达式来获取部分内容。

我有字符串

6.956.95

我需要返回

6.95

另一个例子,我有字符串:

22.9522.95

我只需要

22.95

我的正则表达式技巧并不好,我一直在尝试许多不起作用的不同方法。谢谢!

4 个答案:

答案 0 :(得分:1)

如果您只需要2'小数':

> "22.9522.95"[/^\d+\.\d{2}/]
=> "22.95"

我仍然很好奇为什么你有2个期间的价格表示。

答案 1 :(得分:1)

如果您需要任何由1位或更多位数后跟小数后跟恰好两位数的模式:

\d+\.\d\d

答案 2 :(得分:1)

如果你知道你总是有一个小数:

^\d+\.\d{0,2}

这就是说从字符串前面选择一个或多个数字,后跟一个小数,后跟最多2位数字,它将忽略过去的任何数字。

答案 3 :(得分:0)

这个适用于任何事情:

"foobarfoobar"[/(.+)\1/,1]
#=> "foobar"