使用正则表达式从字符串中获取2个值

时间:2017-12-13 17:11:51

标签: ruby regex

我有一个字符串"[5, 3]",我想用正则表达式从中提取5和3。

p "[5, 3]".match(/\d,\s\d/) # <MatchData "5, 3">
p "[5, 3]".match(/\d/) # <MatchData "5">

我无法同时提取这两个数字

1 个答案:

答案 0 :(得分:3)

我认为您需要scan代替match,请尝试:

p "[5, 3]".scan(/\d/) 

我可以说 match将第一个匹配作为MatchData返回,而scan返回正则表达式匹配的所有内容

请参阅String#scanRegexp#match