我需要一些帮助来理解以下用于将句子分成单词的Ruby代码。
class String
def words
scan(/\w[\w\'\-]*/)
end
end
以下是实施方法:
"This is a test of words' capabilities".words
返回
["This", "is", "a", "test", "of", "words'", "capabilities"]
正则表达式(/ \ w [\ w \' - ] * /)究竟是什么意思?
答案 0 :(得分:1)
基本上转换为:
/:表示正则表达式的开始
\ w:找到一个单词字符(通常是[A-Za-z0-9_])
[\ w \' - ] *:然后找到零个或多个单词字符,撇号或短划线 /:表示正则表达式结束
Ruby代码正在查找该表达式的每个匹配项(任何一系列可以包含撇号和短划线但不能以它们开头的单词字符),并在找到它时将其存储到数组中。
答案 1 :(得分:1)
我确信您可以找到Regular expressions文件。这是一个有用的资源,可以回答您的问题并了解更多信息!