如何匹配 ruby 中的多行
How to match multiple lines in ruby
这不匹配多个 "m"
a = "Im the prowerful man"
puts a.match(/(m)/im)[1]
以上代码只匹配第一个"m"
在 perl 中我通常这样做
$a =~ m/(m)/sig
如何在 ruby
中做类似的事情
使用 string.scan
而不是 string.match
,其中 match
函数将 return 只有第一个匹配项。
> a = "Im the prowerful man"
> a.scan(/m/im)
=> ["m", "m"]
> a.scan(/(m)/im)
=> [["m"], ["m"]]
输出中的多维数组是因为正则表达式中存在捕获组。
这不匹配多个 "m"
a = "Im the prowerful man"
puts a.match(/(m)/im)[1]
以上代码只匹配第一个"m"
在 perl 中我通常这样做
$a =~ m/(m)/sig
如何在 ruby
中做类似的事情使用 string.scan
而不是 string.match
,其中 match
函数将 return 只有第一个匹配项。
> a = "Im the prowerful man"
> a.scan(/m/im)
=> ["m", "m"]
> a.scan(/(m)/im)
=> [["m"], ["m"]]
输出中的多维数组是因为正则表达式中存在捕获组。