gpt4 book ai didi

ruby - 量词和回顾的问题

转载 作者:数据小太阳 更新时间:2023-10-29 06:33:13 24 4
gpt4 key购买 nike

### Ruby 1.8.7 ###

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

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

Oniguruma::ORegexp.new('(?<=\w*)o')
# => ArgumentError: Oniguruma Error: invalid pattern in look-behind

Oniguruma::ORegexp.new('(?<=\w)o')
# => /(?<=\w)o/


### Ruby 1.9.2 rc-2 ###

"hello".match(/h(?=\w*)/)
# => #<MatchData "h">

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

"hello".match(/(?<=\w)o/)
# => #<MatchData "o">

我不能在回顾中使用量词吗?

最佳答案

问题是 Ruby 不支持可变长度的回顾。量词本身并没有问题,但它们不会导致回溯的长度不确定。

Perl 和几乎所有具有正则表达式的主要语言都有相同的限制。

尝试使用直接匹配 (\w*)\W*?o 而不是回溯。

关于ruby - 量词和回顾的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3479131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com