`split(%r {\ s *})`的含义

时间:2016-05-13 00:54:25

标签: ruby regex

split(%r{\s*})将每个字母分开,忽略空格,如:

"hi mom".split(%r{\s*}) # => ["h", "i", "m", "o", "m"]

为什么%r{\s*}可以这样工作?

2 个答案:

答案 0 :(得分:2)

%r{...}(或%r[...],或%r#....#,或%rX...X ...您得到的要点)相当于/.../,一个RegExp文字。在正则表达式中,\s是一个空格,*是前面标记的0或更多:一起,表达式说"在每个点分割字符串,有零个或多个空格&# 34 ;.字符串的每个字符之间有零个或多个空格(除了空格,它被吞并为识别的分隔符)。

答案 1 :(得分:1)

%r{\s*}匹配任意零宽度位置或一个或多个空格,这些空格从拆分结果中排除。