我正在尝试找到一个有效的正则表达式,它可以让我找到一个网页的所有价格,就像1,150.00
和500.00
这个正则表达式在 Rubular 中对我有用:
/(\d?,?\d+.\d+)/
但它在我的 Ruby 代码中不起作用,因为它对于数百个值是可以的,但只取千位中的第一个数字(例如,在 1,150.00 中取 1)。
有什么我想念的吗?
这是我正在使用的代码:
str_rooms_prices = rooms_container.scan(/[\d,]?\d+\.\d+\s/)
puts "This is the room prices I've found so far #{str_rooms_prices}."
str_rooms_prices = str_rooms_prices - ["0"]
puts "I'm now substracting the 0 prices and this is what remains: #{str_rooms_prices}."
int_rooms_prices = str_rooms_prices.map { |str| str.to_i }
min_price = int_rooms_prices.min.to_i
然后我得到的 min_price 是 1。