红宝石正则表达式和分组

ck3*_*k3g 10 ruby regex

我有以下文字,'some-text-here'并尝试'text'使用群组从中得到这个词.

如果我使用该表达式/some-(\w+)-here/一切正常,但如果我尝试对其应用分组,则会/some-(?<group_name>\w+)-here/引发错误Undefined (?...) sequence.

我做错了什么?

(Ruby 1.9.2)

更新:对我感到羞耻.这完全取决于我的经营权.是的,我使用RVM,我的ruby版本打开了1.9.2.但是我已经在http://rubular.com/上测试了这个表达式,它是在页脚上写的Rubular runs on Ruby 1.8.7.Ruby 1.8.7和Ruby 1.9.2有一个不同的正则表达式引擎.所以我的表达式适用于1.9.2,但不适用于1.8.7

Mic*_*ohl 10

对我来说,看起来你正在看错了Ruby.你可能安装了RVM吗?

1.9.2

>> RUBY_VERSION 
=> "1.9.2"
>> s='some-text-here' 
=> "some-text-here"
>> /some-(?<group_name>\w+)-here/ =~ s 
=> 0
>> group_name #=> "text"
Run Code Online (Sandbox Code Playgroud)

1.8.7

>> RUBY_VERSION
=> "1.8.7"
>> s='some-text-here'
=> "some-text-here"
>> /some-(?<group_name>\w+)-here/ =~ s
SyntaxError: compile error
(irb):2: undefined (?...) sequence: /some-(?<group_name>\w+)-here/
    from (irb):2
Run Code Online (Sandbox Code Playgroud)