-1

文を単語に分割するための次の 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\'-]*/) は正確にはどういう意味ですか?

4

2 に答える 2

1

基本的には、次のように変換されます。

/ : 正規表現の開始を示します
\w : 単語の文字 (通常は [A-Za-z0-9_]) を検索
します [\w\'-]* : 0 個以上の単語の文字、アポストロフィ、またはダッシュを見つけます
/ : 正規表現の終わりを示します

Ruby コードは、その式 (アポストロフィとダッシュを含むことができるが、それらで始まることはできない連続した一連の単語文字) に一致するものをすべて見つけ、それを見つけたら配列に格納します。

于 2013-02-15T21:23:12.370 に答える
1

正規表現のドキュメントを見つけることができると確信しています。あなたの質問に答え、一般的にそれについてもっと学ぶのに役立つリソースです!

于 2013-02-15T21:24:13.743 に答える