我不确定我的大脑是否已经疲惫不堪,或者我是否只是在考虑这个问题.下面的代码是从about_regular_expressions在红宝石Koans.
def test_asterisk_means_zero_or_more
assert_equal "abb", "abbcccddddeeeee"[/ab*/]
assert_equal "a", "abbcccddddeeeee"[/az*/]
assert_equal "", "abbcccddddeeeee"[/z*/]
# THINK ABOUT IT:
#
# When would * fail to match?
end
Run Code Online (Sandbox Code Playgroud)
你如何*在比赛中失败?
当我说失败时,我假设他们的意思是他们想要assert_equal返回零.我知道一种方法是\在前面抛出一个*让正则表达式明确地寻找*角色,但我很确定这不是他们所暗示的.
And*_*imm 43
也许"什么时候*不匹配"的答案是"从不".
Jer*_*ock 25
由于*将始终接受空字符串,因此只有在它之前或之后有不匹配的内容时才会失败.例如,ab*c将无法匹配azc,因为b*不匹配z和c不匹配zc.