Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Splitty
5 / 5 / 4
Регистрация: 15.12.2013
Сообщений: 34
1

Регулярное выражение

14.12.2014, 13:17. Просмотров 358. Ответов 1
Метки нет (Все метки)

Нужна проверка на валидность введенной команды, допустимые варианты - 0, 1, 2, мой способ хавает ввод типа 12, 21, 01, то есть совпадение находит и пропускает, а мне нужно, чтобы пропускало только один символ, то есть строго 0, 1 или 2, как исправить? Спасибо.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string tmp_ans = Console.ReadLine();
            while (true)
            {
                Regex r = new Regex(@"^[0-2]*$");
                Match m = r.Match(tmp_ans);
                if (m.Success)
                    break;
                else
                {
                // Повторный ввод
                    tmp_ans = Console.ReadLine();
                }
            }
            char answer = Convert.ToChar(tmp_ans);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2014, 13:17
Ответы с готовыми решениями:

Регулярное выражение
Есть регулярное выражение, которое парсит номера домов написанные не правильно....

Регулярное выражение
Все получается кроме этой функции. Надо вытащить вот эти данные со всеми новыми...

Регулярное выражение
помогите пожалуууйста с программой на регулярные выражения!!!!Дана строка, в...

Регулярное выражение
регулярка: "\\b" + blue + "\\b", ищет слова, которые компилятор выделяет синим...

Регулярное выражение
Есть строка вида: "ЛюбойТекстИЛИразделительИЛИпереводСтроки {...}...

1
Lynatik001
38 / 32 / 13
Регистрация: 28.09.2012
Сообщений: 626
14.12.2014, 13:32 2
C#
1
Regex r = new Regex(@"^[0-2]{1}$");
Добавлено через 3 минуты
Цитата Сообщение от Splitty Посмотреть сообщение
0, 1, 2, мой способ хавает ввод типа 12, 21, 01,
Из-за * выходит такое) выше описал правильно как. А в вашем выражении оно будет хавать хоть 01211111101011
- те бесконечной длины ибо * указывает что он должен быть бесконечно долгий.
А
{1} я указываю что число может быть лишь одно
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2014, 13:32

Регулярное выражение
Здраствуйте, помогине пожалуйста есть html код : Нужно вытащить слова...

Регулярное выражение
Regex dataRegex3 = new Regex(@"Регулярка"); string str3 =...

Регулярное выражение
Имеется текст, в нем есть сумма, разделенная произвольным кол-вом пробелов(2 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru