регулярное выражение ruby ​​для соответствия @variables {что угодно, текст, числа, шестнадцатеричные числа - не важно} - PullRequest
3 голосов
/ 04 февраля 2010

Я ищу регулярное выражение, чтобы соответствовать этому

@ переменных { цвет1 | #FFFFFF | ссылки; цвет2 | # c1dfee | Рамка; }

однако - то, что находится внутри фигурных скобок, не важно. Я просто хочу захватить этот @variables {} с его содержимым. Так что я думаю, что я ищу что-то вроде / @ variable {MATCH-ANYTHING} / m

Спасибо.

Ответы [ 4 ]

3 голосов
/ 04 февраля 2010

Попробуйте:

@variables\{[^}]*}

[^}] соответствует любому символу, кроме }.

1 голос
/ 04 февраля 2010

как насчет /@variables\{[^}]*\}/

0 голосов
/ 04 февраля 2010

В качестве альтернативы: /@variables\{.*?}/, чтобы сопоставить что-либо между фигурными скобками без жадности

s = "foo{bar} @variables{blah blah} asdf{zxbc}"
s.match(/@variables\{(.*?)}/)
# => #<MatchData "@variables{blah blah}" 1:"blah blah">
0 голосов
/ 04 февраля 2010

Как насчет этого:

/@variables\{(.+)\}/.match("@variables{ color1 | #FFFFFF | links; color2 | #c1dfee | frame; }")[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...