它没有按预期工作。在我的期望中,只有第二个版本才能成功。我期望与任何其他编程语言中的行为相同。
irb(main):071:0> "10.0.0.62" =~ /^10\.1*/
=> 0
irb(main):072:0> "10.0.0.62" =~ /^10\.*/
=> 0
我看了this。
答案 0 :(得分:3)
在我的期望中,只有第二个版本才能成功。
不,因为您在1旁边添加了*
,这意味着可能有1次出现0次或更多次,即*
重复前一次令牌零次或多次。所以第一个例子必须返回true。
\.*
重复字面点零次或多次。因此,此^10\.*
正则表达式将匹配10
,10.
,10......