我正在使用Ruby编写Selenium脚本,我想提取:
548条点评
来自
3.5 of 5 548 reviews
使用正则表达式。
答案 0 :(得分:1)
这比你想象的容易得多,这表明你在问之前没有真正尝试过:
str = '3.5 of 5 548 reviews'
str[/\d+ reviews/] # => "548 reviews"
做这些事情:
\d+
的工作原理。[]
works。答案 1 :(得分:0)
使用以下正则表达式:
/([0-9]*?) reviews/
如果您确定评论结束,那么:
/([0-9]*?) reviews$/
您可以将scan
用于此目的:
a = "3.5 of 5 548 reviews"
# => "3.5 of 5 548 reviews"
a.scan(/([0-9]*?) reviews/)
# => [["548"]]
更新:万一您需要“评论”这个词。结果使用也是如此:
a.scan(/[0-9]*? reviews/)
#=> ["548 reviews"]
答案 2 :(得分:0)
您可以使用/[\d,]+\s+reviews?/
。例如:
str = '3.5 of 5 548 reviews'
str.match(/[\d,]+\s+reviews?/).to_s
=> "548 reviews"