如何使用正则表达式从字符串中查找总金额

时间:2018-04-22 07:12:06

标签: ruby-on-rails regex

您好我正在使用ruby-2.5.0和rails 5上的ruby on rails项目。我有一个包含总金额的字符串。所以我需要使用正则表达式来查找总金额。

String:-
"TOTAL 
EFT 
CHANGE 
Taxable Ite.s 
TOTAL includes GST 
OTHER SAVINGS 
0000000000 
$73.26 
HAIERF(RDS stm IGA 
KARAWARA *AOI 
TERMINAL" 

这里的总金额为73.26美元。我试过了/$(\d{1,2}(\.)\d{1,2})//^\d{1,4}(\.\d{0,2})?$/但它没有用。请帮我准确的正则表达式。提前谢谢。

1 个答案:

答案 0 :(得分:1)

按照op的评论更新:

/TOTAL(?=((?!TOTAL).)*).*?(\$\d{1,4}(?:\.\d{1,2})?)/im

这是你的两个正则表达式的汇编。

Regex Demo

示例来源Run Here

re = /TOTAL(?=((?!TOTAL).)*).*?(\$\d{1,4}(?:\.\d{1,2})?)/im
str = 'TOTAL   $234
EFT 
CHANGE 
Taxable Ite.s 
TOTAL includes GST 
OTHER SAVINGS 
0000000000 
$73.26 
HAIERF(RDS stm IGA 
KARAWARA *AOI 
TERMINAL
$83.26

Total
asdasfd
sadfasdf
$1235
'
str.scan(re) do |match|
    puts match[1]
end