以下の式で:
words = string.scan(/\b\S+\b/i)
単語の境界と大文字と小文字を区別しない文字列をスキャンしようとしています。
string = "A ball a Ball"
次に、このeach
ブロックがある場合:
words.each { |word| result[word] += 1 }
私は次のようなものを期待しています:
{"a"=>2, "ball"=>2}
しかし、代わりに私が得るものは次のとおりです。
{"A"=>1, "ball"=>1, "a"=>1, "Ball"=>1}
このことがうまくいかなかった後、次のような新しい正規表現を作成しようとしました:
Regexp.new(Regexp.escape(string), "i")
しかし、これを使用する方法やここから先に進む方法がわかりません。