Мне нравится делать что-то вроде
/^(?<hours>\d+).+\$(?<price>\d+)/
Мне нравится маркировать группы, потому что это помогает мне понимать / поддерживать регулярные выражения в будущем, но, очевидно, вы можете сделать
^.+\$(?<price>\d+)
и также будет работать
Пример того, как его использовать ...
2.6.4 :041 > m="2 hrs for $50".match(/^(?<hours>\d+).+\$(?<price>\d+)/)
=> #<MatchData "2 hrs for $50" hours:"2" price:"50">
2.6.4 :042 > m["price"]
=> "50"
2.6.4 :043 > m["hours"]
=> "2"
2.6.4 :044 > m="2 hrs for $50".match(/^.+\$(?<price>\d+)/)
=> #<MatchData "2 hrs for $50" price:"50">
2.6.4 :045 > m["price"]
=> "50"
Поскольку у вас есть символ $, вам не нужно проверять, меньше ли 10, чтобы узнать, что это цена.