170 похожих чатов

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

шаблону, а именно все буквы в русском языке, "-" и "_", но последние допускаются только 1 раз?
Собственно на сами буквы проверил и на - с _ тоже, но вот насчет 1 раза, не могу найти информации (1 раз где угодно по тексту.
Для этого нужно создавать новый шаблон или можно прям тут?
!string.IsNullOrEmpty(str) && !Regex.IsMatch(str, @"[^а-я_\-]")

4 ответов

6 просмотров

Из того что быстро гуглится Regex.Matches().Count, но это получается отдельный матч идёт

Регулярки так не умеют так шо проверять, что попадается всего 1 раз тебе придётся самому.

Ты должен группу обернуть [\+-]? Сдесь проверяется 1 или 0 вхождений а так ? Разворачивается {0,1}

Попробуй вот это... Длинная регулярка, но если задача регулярками... (я бы не решал регулярками такое) var tests = new string[] { "тест", "те_ст", "те_с-т", "те_ст-", "_тест", "тест_", "те-ст", "-те_ст", "тест-", "тест-_", "тест_-", "тт_-ст", //FALSE "те__ст-", "__тест-", "тест--", "те-с-т", }; foreach (var test in tests) { Console.WriteLine($"{test} - Result: " + Regex.IsMatch(test, @"^([а-я]*(_{0,1}|\-{0,1})[а-я]*)$|^((_{1})[а-я]*(\-{1})[а-я]*)$|^((\-{1})[а-я]*(_{1})[а-я]*)$|^[а-я]*(_{0,1})[а-я]*(\-{0,1})[а-я]*$|^[а-я]*(\-{0,1})[а-я]*(_{0,1})[а-я]*$")); }

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
49
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
Карта сайта