标签: ruby regex
我有这个字符串:
str = "\r\n <span>60 %</span>\r\n <br>\r\n40 %"
我想提取2个百分比,所以我写了这个:
str.match(/(\d{1,2}\s%)/)
但它只返回第一个并且无法理解原因:
=> #<MatchData "60 %" 1:"60 %">
如果我在rubular中尝试这个,那就可以了。
rubular version
答案 0 :(得分:2)
使用scan代替str.scan(/(\d{1,2}\s%)/) ,["60 %", "40 %"] 只找到第一个匹配。
str.scan(/(\d{1,2}\s%)/)
["60 %", "40 %"]
x
将生成匹配数组
答案 1 :(得分:0)
这是设计的。 match找到第一场比赛。
match