我找到了site,我可以在其中生成ruby正则表达式。 所以基本上你输入文字并点击你想要提取的部分:
所以我试了一下:
product.css('.crAvgStars .swSprite span').text[/([+-]?\\d*\\.\\d+)(?![-+0-9\\.])/, 1]
获取4.4
但获得nil
。
正则表达式无法正常工作还是我的方法不正确?
答案 0 :(得分: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\.])/