使用正则表达式将字符串拆分为单词

时间:2013-02-15 21:14:26

标签: ruby regex

我需要一些帮助来理解以下用于将句子分成单词的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 \' - ] * /)究竟是什么意思?

2 个答案:

答案 0 :(得分:1)

基本上转换为:

  

/:表示正则表达式的开始
  \ w:找到一个单词字符(通常是[A-Za-z0-9_])
  [\ w \' - ] *:然后找到零个或多个单词字符,撇号或短划线   /:表示正则表达式结束

Ruby代码正在查找该表达式的每个匹配项(任何一系列可以包含撇号和短划线但不能以它们开头的单词字符),并在找到它时将其存储到数组中。

答案 1 :(得分:1)

我确信您可以找到Regular expressions文件。这是一个有用的资源,可以回答您的问题并了解更多信息!