使用
ruby regexp我得到以下结果:
>> 'foobar'[/o+/] => "oo" >> 'foobar'[/o*/] => ""
但:
>> 'foobar'[/fo+/] => "foo" >> 'foobar'[/fo*/] => "foo"
文件说:
*:前面的零次或多次重复
:前面的一个或多个重复
所以我希望’foobar'[/ o * /]返回与’foobar’相同的结果[/ o /]
有没有人对此有解释
解决方法
‘foobar'[/ o * /]匹配f之前出现的0,位置0
‘foobar'[/ o /]无法匹配,因为需要至少1 o,所以它匹配位置1的所有os
‘foobar'[/ o /]无法匹配,因为需要至少1 o,所以它匹配位置1的所有os
具体来说,你看到的比赛是
‘foobar'[/ o * /] => ‘<> foobar的’‘foobar'[/ o /] => ‘F< OO> bar’ 的