Ruby Regex *与字符序列不匹配

时间:2014-09-21 06:18:42

标签: ruby regex

为什么这个正则表达式不匹配字符串中的所有b

'abbbbbbb'.match(/b*/)
#=> #<MatchData "">

然而这样做:

'abbbbbbb'.match(/b+/)
#=> #<MatchData "bbbbbbb">
  • *的定义是:“星号表示前面的元素中有零个或多个”。
  • +的定义是:“加号表示前面有一个或多个元素”。

两个运营商之间的唯一区别是他们所做的匹配数量。它们都应匹配7 b s。

1 个答案:

答案 0 :(得分:4)

这不是一个错误,你只是自己回答了你的问题。

The definition of * is: "The asterisk indicates there is zero or more of the preceding element"

如果根本没有b字符,/b*/匹配。