ruby正则表达式匹配@variables {无论如何,文本,数字,十六进制 - 不重要}

时间:2010-02-04 09:07:44

标签: ruby regex

我正在寻找一个红宝石正则表达式来匹配这个

@variables {   color1 | #FFFFFF |链接;   color2 | #c1dfee |帧; }

然而 - 括号内的东西并不重要。我只想用它的内容捕获@variables {}。所以我想我正在寻找类似/ @ variables {MATCH-ANYTHING} / m

的东西

感谢。

4 个答案:

答案 0 :(得分:3)

尝试:

@variables\{[^}]*}

[^}]匹配除}以外的任何字符。

答案 1 :(得分:1)

/@variables\{[^}]*\}/

怎么样?

答案 2 :(得分:0)

这个怎么样:

/@variables\{(.+)\}/.match("@variables{ color1 | #FFFFFF | links; color2 | #c1dfee | frame; }")[1]

答案 3 :(得分:0)

或者:/@variables\{.*?}/匹配非贪婪的大括号之间的任何内容

s = "foo{bar} @variables{blah blah} asdf{zxbc}"
s.match(/@variables\{(.*?)}/)
# => #<MatchData "@variables{blah blah}" 1:"blah blah">