Ответ 1
Вам нужен модификатор /i
arr = line.scan(/\b#{word}\b/i)
http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm
И лучше использовать \b
для границ слов, потому что второй \s+
в вашем регулярном выражении ест пространство, которое может использоваться для первого \s+
другого совпадающего слова; также ваше регулярное выражение не работает в начале и в конце строки:
> "asd asd asd asd".scan /\s+asd\s+/
=> [" asd "]
> "asd asd asd asd".scan /\basd\b/
=> ["asd", "asd", "asd", "asd"]