我很困惑为什么星号对Ruby中的正则表达式结果有影响?示例代码如下:
console.log(config.hello); // "World!"
为什么第一个2.3.0 :001 > "abbcccddddeeeee"[/z*/]
=> ""
2.3.0 :002 > "abbcccddddeeeee"[/z/]
=> nil
返回空字符串,而另一个返回*
?
谢谢!
答案 0 :(得分:1)
*
是一个量词,表示" 0或更多"。
您的第一个代码段匹配z
的0个实例。你的第二个片段并不匹配。
答案 1 :(得分:0)
Kleene明星的意思是"零或更多"。在第一种情况下,字符串中有0 z
s,这意味着"零或更多z
s"匹配(实际上甚至是无限多次匹配)。
在第二种情况下,您在字符串中搜索单个z
的出现位置。