当我要求它匹配数字时,为什么扫描匹配“”字符?

时间:2015-09-08 15:43:19

标签: ruby regex

如果我跑:

"607.807-000".scan(/([[:digit:]]*)/)

然后我回到数组:

["607", "", "807", "", "000", ""]

为什么扫描会匹配这些""个字符?

1 个答案:

答案 0 :(得分:7)

这是因为*重复 或更多次。因此,在没有数字的位置,它将匹配空字符串。请改用+(重复 一个 或更多次)。