根据this document,$MATCH
是$&
的别名,我想将其用于可读性。
但它在我的环境中不起作用。
'1234-4567'.match(/\d{4}-/){ $& } # => "1234-"
'1234-4567'.match(/\d{4}-/){ $MATCH } # => nil
我误解了什么?
答案 0 :(得分:4)
默认情况下,未启用这些[伪]全局变量的人名。您必须要english
才能使用它们。
'1234-4567'.match(/\d{4}-/){ $& } # => "1234-"
'1234-4567'.match(/\d{4}-/){ $MATCH } # => nil # !> global variable `$MATCH' not initialized
require 'english'
'1234-4567'.match(/\d{4}-/){ $MATCH } # => "1234-"