2011-01-06 10 views

risposta

15

È necessario modificatore /i

arr = line.scan(/\b#{word}\b/i) 

http://www.tutorialspoint.com/ruby/ruby_regular_expressions.htm

E meglio utilizzare \b per i confini di parola, perché la seconda \s+ nella vostra regex mangia spazi, che possono essere utilizzati per la prima \s+ di un'altra parola abbinata; anche la tua regex fallisce all'inizio e alla fine della riga:

> "asd asd asd asd".scan /\s+asd\s+/ 
=> [" asd "] 
> "asd asd asd asd".scan /\basd\b/ 
=> ["asd", "asd", "asd", "asd"] 
+1

wow è stato facile lol, ho bisogno di aspettare 7 minuti per accettare la tua risposta. Grazie. – Flethuseo

Problemi correlati