-3

我找到了一个可以生成 ruby​​ 正则表达式的网站。所以基本上你输入文本并单击要提取的部分:

在此处输入图像描述

所以我试了一下:

product.css('.crAvgStars .swSprite span').text[/([+-]?\\d*\\.\\d+)(?![-+0-9\\.])/, 1]

得到4.4但得到了nil

正则表达式不起作用还是我以不正确的方式放置它?

4

1 回答 1

1

尝试这个:

s = "4.4 out of 5 stars"
p s[/([+-]?\d*\.\d+)(?![-+0-9\.])/]
# >> "4.4"

您可以通过以下方式找到Regexp.new

Regexp.new('([+-]?\\d*\\.\\d+)(?![-+0-9\\.])')
# => /([+-]?\d*\.\d+)(?![-+0-9\.])/
于 2013-08-26T12:01:36.050 回答