Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Регулярное выражение

Ответить
Настройки темы
C/C++ - Регулярное выражение

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток, помогите пожалуйста разобраться с регулярным выражением, имеем строку :
Код: Выделить весь код
/voiting Как он поступил?:Хорошо,Плохо
Необходимо её проверить на соответствие выражению и установить значения 2х переменных (1-вопрос,2-варианты ответа через запятую, которых должно быть 2 и более шт.)
Все до чего я дошел
Код: Выделить весь код
\/voiting[\s]{1,}([\w]{3,}):(\w+,+\w+,*\w*)
но ничего не получается...
Код: Выделить весь код
        private void button1_Click(object sender, EventArgs e)
        {
            string test = @"/voiting Как он поступил?:Хорошо,Плохо";
            var RegExpString2 = Regex.Match(test, @"\/voiting[\s]{1,}([\w]{3,}):(\w+,+\w+,*\w*)");
            if (RegExpString2.Success)
            {
                MessageBox.Show("УРА!!!!!!"+ RegExpString2.Groups[1].ToString()+" вар:"+ RegExpString2.Groups[2].ToString());
            }
        }

Отправлено: 22:44, 24-06-2019

 

Аватара для shisik

Ветеран


Сообщения: 2809
Благодарности: 539

Профиль | Отправить PM | Цитировать


Ну во-первых это

Код: Выделить весь код
([\w]{3,})
будет соответствовать последовательности из минимум 3 букв, цифр или знаков подчёркивания. А не трём словам через пробел, что скорее всего вы пытаетесь изобразить. Если строка вопроса может сожержать буквы, цифры, пробелы и в конце должен стоять знак вопроса, то их и надо перечислить в квадратных скобках:

Код: Выделить весь код
([\w\s]+\?)
Во-вторых мне совсем непонятно, что имеется в виду в последней части здесь

Код: Выделить весь код
(\w+,+\w+,*\w*)
Я имею в виду *\w*. Если нужно минимум 2 варианта ответа через запятую, то можно сделать так:

Код: Выделить весь код
((?:[\w\s]+,)+[\w\s]*)
где каждый ответ может содержать буквы, цифры, символ подчёркивания.

-------
Registered Linux User #426083
Gentoo Linux amd64, Gnome 2.32.1, Compiz-Fusion


Отправлено: 23:02, 24-06-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Регулярное выражение

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Регулярное выражение LilLoco Программирование и базы данных 19 04-05-2016 09:36
CMD/BAT - [решено] Регулярное выражение micolo Скриптовые языки администрирования Windows 5 06-03-2014 20:23
Debian/Ubuntu - grep регулярное выражение Forpost Общий по Linux 3 25-05-2012 00:50
Регулярное выражение venuko Вебмастеру 11 02-08-2010 18:18
Регулярное выражение benya Вебмастеру 27 26-08-2005 14:34




 
Переход