使用Regex从字符串中获取多个值并将其放入数组中?

时间:2011-03-16 16:16:08

标签: ruby regex watir

尝试在Ruby / watir中从这个字符串中获取两个$值和X值:

  

16.67%:$ xxx.xx向下,包括政策费用和$ xxx.xx的x分期付款

到目前为止,我已经:

16.67%:\s+\$(\d+.\d{2}) 

它抓住第一个xxx.xx罚款,我需要添加什么才能获取最后两个变量并将其全部加载到数组中?

5 个答案:

答案 0 :(得分:0)

如果你知道介于两者之间的文字总是一样的话,你可以:

16.67%:\s+\$(\d+.\d{2}) down, includes the Policy Fee, and x installments of (\d+.\d{2})

答案 1 :(得分:0)

您最好使用扫描。

sub(/.*%/, '').scan(/\$?([\d\.]+)/)

答案 2 :(得分:0)

您可以使用以下内容,但如果周围的文本始终相同,则可能不需要正则表达式:

\$(\d+.\d{2}).*?(\d+) installments.*?\$(\d+.\d{2})

http://www.rubular.com/r/sk5wO3fyZF

答案 3 :(得分:0)

您是否考虑过将字符串拆分为$ character?,然后使用正则表达式或基本字符串命令来操作?

答案 4 :(得分:0)

/ \ $(\ d +。\ d {2})。+ \ $(\ d +。\ d {2})/应该这样做。它不管是什么文本都没关系,只是句子中有两个“$”。