我不确定是我脑子坏了还是我只是想得太用力了。以下代码来自 Ruby Koans 中的 about_regular_expressions。
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
如何让 *
使匹配失败?
当我说失败时,我假设他们的意思是他们希望 assert_equal
返回 nil。我知道一种方法是在 *
前面添加一个 \
以使正则表达式明确查找 *
字符,但我很确定这不是他们的意思。
最佳答案
也许“什么时候匹配失败”的答案是“从不”。
关于ruby - 让星形正则表达式运算符失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5084141/