Регекс на много вариантов сразу?

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
В очередной раз увидел на форуме, что регексом пользуются с множеством вариантов за раз по формату
"^$|blocked|заблокирован|407 Proxy"

В конструкторе полагаю такой не сделать. В регексе не силен. Как правильно подобные шаблоны регекса делать под свои задачи? Например я сразу регексом хочу проверить наличие слова Арбуз Или слова Картошка или слова Петрушка в переменной?
Как это сделать можно?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
В очередной раз увидел на форуме, что регексом пользуются с множеством вариантов за раз по формату
"^$|blocked|заблокирован|407 Proxy"

В конструкторе полагаю такой не сделать. В регексе не силен. Как правильно подобные шаблоны регекса делать под свои задачи? Например я сразу регексом хочу проверить наличие слова Арбуз Или слова Картошка или слова Петрушка в переменной?
Как это сделать можно?
Арбуз|Картошка|Петрушка
регистрозависимо, если нужно чтобы не отслеживался регистр, то так:
(?i)Арбуз|Картошка|Петрушка

если же нужно что то более сложное, то в отдельных вкладках конструктора настраиваете регулярки и сводите их в одну, чередуя через (рег1)|(рег2)|(рег3) и т.д..
 
Последнее редактирование:
  • Спасибо
Реакции: Dimionix и Dexio

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
C#:
string str = project.Variables["Var"].Value;
Regex reg = new Regex("Арбуз|Картошка|Петрушка");
if (!reg.Match(str).Success) // проверяем, успешно ли совпадение
    throw new Exception(); // если нет, то выход по красной
// если успешно - выход по зелёной
 
  • Спасибо
Реакции: Dexio и Sergodjan

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Господа, с такими знаниями и легкостью решать подобные задачи, становится любопытно сколько десятков нулей в вашем месячном доходе))
Спасибо, столько нового сегодня узнал!
 
  • Спасибо
Реакции: Dimionix и Sergodjan

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)