2016-04-19 3 views
-2

Я рекомендовал следующую строку кода для использования в текстовом файле:Как фигурные скобки работают в этой линии рубин Split

arr = str.split(/\n{2,}/).map { |s| s.split(/\n/) } 

пытаюсь понять, как:

(/\n{2,}/) 

Часть работает и точно, что она делает.

+1

'\ n {2,}' означает совпадение двух или более символов новой строки. Иногда вы увидите это написанное '\ n \ n +'. –

+0

Иными словами, в этом случае фигурные скобки являются частью синтаксиса регулярных выражений Ruby и не имеют никакого отношения к обычным применениям фигурных скобок Ruby, которые: 1) отмечают начало и конец блока кода и 2), чтобы заключить хэш. –

ответ

5

Ведущий и конечный / обозначают начало и конец регулярного выражения. \n будет соответствовать любой новой строке. {2,} после символа (в данном случае \n) будет соответствовать любому появлению символа, повторенного два или более раз, в этом случае две или более последовательных строк новой строки. Если бы это было \n{3,6}, это соответствовало бы последовательностям, которые повторяются между 3 и 6 раз подряд.

Смежные вопросы