Ruby和否定超前失败

时间:2018-08-15 19:55:20

标签: ruby regex negative-lookbehind

我有一个看起来像这样的字符串

blah blah when:prd:foo when:default:{bar}

我想捕获when:xxx:yyy位,并且我有一个在这里工作的正则表达式: https://regexr.com/3tvr1

但是当我在Ruby中尝试相同的正则表达式时,却找不到匹配项。

irb(main):001:0> s = 'blah blah when:prd:foo when:default:{bar}'
=> "blah blah when:prd:foo when:default:{bar}"
irb(main):002:0> s.scan(/when:[^:]+:((?!\s+when).)+/)
=> [["o"], ["}"]]

我试图弄清楚如何在Ruby中捕获它们。

0 个答案:

没有答案