Ruby Regexp:vs *.特殊行为?

前端之家收集整理的这篇文章主要介绍了Ruby Regexp:vs *.特殊行为?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 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 * /] => ‘<> foobar的’‘foobar'[/ o /] => ‘F< OO> bar’ 的

猜你在找的Ruby相关文章