Problem with quantifiers and look-behind

前端 未结 2 1404
轮回少年
轮回少年 2020-12-10 02:23
### Ruby 1.8.7 ###

require \'rubygems\'
require \'oniguruma\' # for look-behind

Oniguruma::ORegexp.new(\'h(?=\\w*)\')
# => /h(?=\\w*)/

Oniguruma::ORegexp.new(\         


        
2条回答
  •  庸人自扰
    2020-12-10 02:30

    I was banging my head against the same problem, and Borealid's answer helped explain the issue well.

    However, that got me thinking. Maybe the quantifier does not need to be inside the lookbehind, but can be applied on the lookbehind itself?

    "hello".match(/(?<=\w*)o/)
    # => SyntaxError: (irb):3: invalid pattern in look-behind: /(?<=\w*)o/
    
    "hello".match(/(?<=\w)*o/)
    # => #
    

    So now we have a variable number of constant-length lookbehinds. Seems to bypass the issue for me. :)

提交回复
热议问题