Wyszukanie zmiennej w ciągu znaków

Witam.
Mam na przykład zmienną z wyrażenia regularnego.
Zawarty w niej jest ciąg znaków składający się z dużych liter, małych liter,
spacji i innych znaków typu: 0, x, % itd.
Oprócz tego mam tablicę ze słowami: roza, fiolek.
Jak sprawdzić czy zmienna nie zawiera słów z tablicy?
Jest na to jakiś sposób? Bo kminię od wczoraj i coś nie chce działać jak powinno.

Pojedyncze sprawdzenie(możesz sprawdzać dla każdego słowa)

reg = Regexp.new("roza") => /roza/ "tu jest roza" =~ reg => 8
ew. możesz jeszcze zrobić jedno duże wyrażenie

words = %w{roza tulipan fiolek} reg = Regexp.new words.join("|") => /roza|tulipan|fiolek/
Powinno działać :slight_smile:

Odchodząc nieco od założenia, że lista słów składa się wyłącznie z ciągów znaków alfanumerycznych, warto jest pamiętać o ich prawidłowym zabezpieczeniu przed parsowaniem metaznaków wyrażenia regularnego:

words = %w{roz|a tulip?an fio-+lek} reg = Regexp.new words.map{|word| Regexp.escape word}.join("|") => rozatulipanfio-lek reg.source => "roz\\|a|tulip\\?an|fio\\-\\+lek"

Dzięki chłopaki. :wink: