ruby正则表达式和分组

我有跟随文本'some-text-here'并尝试使用组从中获取'text'字样。

如果我使用那个表达式/some-(\w+)-here/ all工作正常,但是如果我尝试对它进行分组/some-(?\w+)-here/它会引发错误Undefined (?...) sequence.

我做错了什么?

(Ruby 1.9.2)

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

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

1.9.2

 >> RUBY_VERSION => "1.9.2" >> s='some-text-here' => "some-text-here" >> /some-(?\w+)-here/ =~ s => 0 >> group_name #=> "text" 

1.8.7

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

很抱歉这个,但我的客户端有ruby 1.8.7,我需要使用使用组的正则表达式替换文本。

有没有办法用ruby 1.8.7做到这一点?

这些是我在1.9.2-p290结果:

 irb(main):004:0> "some-text-here".match(/some-(?\w+)-here/) => # irb(main):005:0> RUBY_VERSION => "1.9.2"