标签: ruby regex
我有一个字符串"[5, 3]",我想用正则表达式从中提取5和3。
"[5, 3]"
p "[5, 3]".match(/\d,\s\d/) # <MatchData "5, 3"> p "[5, 3]".match(/\d/) # <MatchData "5">
我无法同时提取这两个数字
答案 0 :(得分:3)
我认为您需要scan代替match,请尝试:
scan
match
p "[5, 3]".scan(/\d/)
我可以说 match将第一个匹配作为MatchData返回,而scan返回正则表达式匹配的所有内容。
MatchData
请参阅String#scan和Regexp#match。
String#scan
Regexp#match