Ruby: поиск строки для нескольких условий поиска - PullRequest
1 голос
/ 30 марта 2012

Я хотел бы сделать что-то вроде следующего:

 if params[:entry].include? ("http" || "www" || "com" || "abc" || "def")
     ...
 end

Я пытался использовать регулярное выражение, но это не сработало (не может преобразовать регулярное выражение в строку), и мне нужно, чтобы оператор возвращал значение true, если искомые строки появляются в везде в параметрах [: запись].

Каков наилучший способ сделать это с помощью Ruby / Rails?

Ответы [ 2 ]

5 голосов
/ 30 марта 2012

Не будет ли params[:entry].match(/(http|www|com|abc|def)/) делать трюк?

Шаблон строки для регулярного выражения - строка # соответствует

2 голосов
/ 31 марта 2012

В дополнение к ответу Wukerplank, вероятно, вы хотите сопоставить эти строки в любом случае (нижний / верхний), вы можете сделать это, немного изменив регулярное выражение следующим образом:

params[:entry].match(/(http|www|com|abc|def)/i)

И, конечно, вы можете использовать оператор =~ вместо сопоставления вызовов в строке, если вы предпочитаете:

params[:entry] =~ /(http|www|com|abc|def)/i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...