irb(main):004:0> '12345'.gsub('\d{5}','0')
=> "12345"
irb(main):005:0> '12345'.gsub('^\d{5}','0')
=> "12345"
irb(main):006:0> '12345'.gsub('^\d{5}$','0')
=> "12345"
我想把五个数字匹配出来,替换成零,为什么不行呢?
[code="ruby"]'12345'.gsub(/\d{5}/,'0' * 5)[/code]
[code="ruby"]
'12345'.gsub(/\d/, '0')
[/code]
替换成1个0:
[code="ruby"]'12345'.gsub(/\d/, '0')[/code]
每个数字都替换成0:
[code="ruby"]'12345'.gsub(/\d{5}/, '0')[/code]
正则要用/\d{5}/不是'\d{5}'
对,正则是放在//里的,而不是''里