它不能按預期工作。在我的預期中,只有第二個版本才能成功。我期望與其他編程語言具有相同的行爲。對於IP地址的Ruby正則表達式
irb(main):071:0> "10.0.0.62" =~ /^10\.1*/
=> 0
irb(main):072:0> "10.0.0.62" =~ /^10\.*/
=> 0
我讀this。
它不能按預期工作。在我的預期中,只有第二個版本才能成功。我期望與其他編程語言具有相同的行爲。對於IP地址的Ruby正則表達式
irb(main):071:0> "10.0.0.62" =~ /^10\.1*/
=> 0
irb(main):072:0> "10.0.0.62" =~ /^10\.*/
=> 0
我讀this。
在我的預期中,只有第二個版本才能成功。
否,由於所添加下一個*
爲1,這意味着1出現零次或多次,即*
重複先前令牌零次或多次可能存在的可能性。所以第一個例子必須返回true。
\.*
重複字面點零次或多次。所以這^10\.*
正則表達式匹配10
,10.
,10......
'*'重複上一個標記(第一行中爲1,第二行中爲「\。」)0或更多次。它與glob語法中的'*'不一樣 – nhahtdh