【发布时间】:2017-12-14 01:20:37
【问题描述】:
我得到一个字符串"[5, 3]",我想使用正则表达式从中提取 5 和 3。
p "[5, 3]".match(/\d,\s\d/) # <MatchData "5, 3">
p "[5, 3]".match(/\d/) # <MatchData "5">
我不能同时提取两个数字
【问题讨论】:
我得到一个字符串"[5, 3]",我想使用正则表达式从中提取 5 和 3。
p "[5, 3]".match(/\d,\s\d/) # <MatchData "5, 3">
p "[5, 3]".match(/\d/) # <MatchData "5">
我不能同时提取两个数字
【问题讨论】:
我认为你需要scan 而不是match,试试:
p "[5, 3]".scan(/\d/)
我能说的是match 返回第一个匹配为MatchData,而scan 返回正则表达式匹配的所有内容。
请参阅 String#scan 和 Regexp#match。
【讨论】: