Подтвердить что ты не робот

Разделить регулярное выражение Ruby на несколько строк

Это не совсем то, что вы ожидаете! Я не хочу, чтобы регулярное выражение соответствовало разрыву строки; вместо этого, я хочу написать длинное регулярное выражение, которое для удобочитаемости я бы хотел разделить на несколько строк кода.

Что-то вроде:

"bar" =~ /(foo|
           bar)/  # Doesn't work!
# => nil. Would like => 0

Можно ли это сделать?

4b9b3361

Ответ 2

Использование% r с параметром x является предпочтительным способом сделать это.

Посмотрите этот пример из руководства по стилю github ruby.

regexp = %r{
  start         # some text
  \s            # white space char
  (group)       # first group
  (?:alt1|alt2) # some alternation
  end
}x

regexp.match? "start groupalt2end"

https://github.com/github/rubocop-github/blob/master/STYLEGUIDE.md#regular-expressions

Ответ 3

вы можете использовать:

"bar" =~ /(?x)foo|
         bar/