这与多个" m"
不匹配a = "Im the prowerful man"
puts a.match(/(m)/im)[1]
以上代码仅匹配第一个" m"
通常在perl中
$a =~ m/(m)/sig
如何在ruby中做同样的事情
答案 0 :(得分:3)
使用string.scan
代替string.match
match
函数只返回第一个匹配。
> a = "Im the prowerful man"
> a.scan(/m/im)
=> ["m", "m"]
> a.scan(/(m)/im)
=> [["m"], ["m"]]
输出处的多维数组是因为正则表达式中存在捕获组。