Ruby 求一个正则表达式的解析

scuwolf · 2014年01月02日 · 最后由 scuwolf 回复于 2014年01月02日 · 1791 次阅读
1.9.3p385 :001 > 1999995.99.to_s.reverse.scan(/(?:\d*\.)?\d{1,3}-?/).join(',').reverse
 => "1,999,995.99"

这里/(?:\d*.)?\d{1,3}-?/这个正则表达式,能否给分解下,尤其是 ?\d{1,3}-? 这个用法,以前没见过

/
  (\d*.)? # 可选组
  \d{1,3} # 1到3个数字
  -? # 最后的减号也是可选的
/x

#1 楼 @luikore 多谢,懂了。thx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号