pattern = /[huaid]f/
string = "hfujifhbdfffaf"
string.match(pattern)
para = []
loop do
para << $& if $& != nil
break if $& == nil
pattern =~ $'
end
p para
para 就是 ["snowsnow","snuwsnuw"]了
这就是引用的作用
即\1会引用第一个()所匹配的字符段放在\1所在的位置!
同理\2,\3就都懂了吧!
引用同样可以用重复量词修饰:
/i(.)\1*w/ =~ "innnw"
p $& #=> "innnw"
p $1 #=> "n"
当引用遇上贪婪: