Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40

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

27.05.2014, 13:56. Показов 1375. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть регулярное выражение. Как проверить строку на соответствие регулярному выражению понятно, а как проверить, допустимым ли является введённый только что символ на соответствие части регулярного выражения?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2014, 13:56
Ответы с готовыми решениями:

Проверка регулярного выражения на полное соответствие строке
Здравствуйте! Есть регулярное выражение для MAC-адреса: "({2}(|$)){6}$|({4}(|$)){3}". Как мне проверить точное совпадение строки с этим...

Проверить, является ли строка допустимым идентификатором языка «С»
Описать функцию IsIdent целого типа, проверяющую, является ли строка S (переданная в качестве параметра) допустимым идентификатором языка...

Проверить, является ли введенная строка допустимым идентификатором языка Pascal
Написать программу, проверяющую, является ли введенная строка допустимым идентификатором языка Паскаль (проверку ключевых и...

8
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
27.05.2014, 14:50
Цитата Сообщение от Nike11088 Посмотреть сообщение
а как проверить, допустимым ли является введённый только что символ на соответствие части регулярного выражения?
Вновь перепроверить строку...
Чего в итоге надо сделать-то?
0
 Аватар для Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
27.05.2014, 15:37  [ТС]
Ввожу первый символ, и мне необходимо знать, допускается ли данный символ. Регулярное выражение проверяет строку целиком, а если проверит только этот символ, то будет не соответствие регулярному выражению.
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
27.05.2014, 16:33
Nike11088, значит несколько регулярок, либо простые проверки...
0
 Аватар для Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
27.05.2014, 16:38  [ТС]
Несколько регулярных выражений не подходит. Пользователь сам будет задавать шаблон с помощью регулярных выражений. И планируется задавать много разных шаблонов.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
29.05.2014, 13:38
Цитата Сообщение от Nike11088 Посмотреть сообщение
а как проверить, допустимым ли является введённый только что символ на соответствие части регулярного выражения?
А как вы себе представляете такую проверку?
Например, такой паттерн: .+!$
Выбирает любое количество символов, оканчивающееся восклицательным знаком.
Печатаю символ: "а".
Вопрос: должен ли регекс принимать этот символ?
Ответ: зависит от того, собираюсь ли я еще что-то написать. Если собираюсь, то надо принять, если нет, то надо отказать.
А откуда регексу знать мои дальнейшие намерения? Придется так и так делать дополнительную проверку после окончания ввода, а если ее по-любому надо делать, то почему не сделать один раз в конце?
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
29.05.2014, 14:27
Если это чудо будет задавать сам человек, то на крайний случай, помимо самой регулярки, разрешите ему выбирать набор символов, которые разрешено вводить в поле (KeyPress).
В какой-то степени это оправдано, если, например, задаётся маска для номера телефона и есть желание запретить вводить буквы...
Но так или иначе на поставленный вопрос ответ один - никак.
0
 Аватар для Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
30.05.2014, 09:19  [ТС]
Мне необходимо сделать аналог MaskedTextBox, только вместо маски задавать регулярное выражение.
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
30.05.2014, 09:25
Nike11088, ну, могу посоветовать попытаться проанализировать регулярку и вычислить, какие символы в ней допустимы, о порядке этих символов речи не будет, конечно, но хотя бы так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2014, 09:25
Помогаю со студенческими работами здесь

Проверить правильность регулярного выражения
Привет всем. В тексте есть строки типа: Wicket.Ajax.ajax({"f":"id20","u":"../nJo5v8dcZx65kJr6ySoWufoC57 Мне надо...

Задача регулярного выражения, игнорирующего повторяющийся символ в конце строки
Всем привет. Пытаюсь разобраться с регулярками последние пару дней и столкнулся с задачей, которую все никак не могу решить:...

Проверить символ на соответствие регулярному выражению
Проверяю символ на соответствие регулярному выражению if preg_match('/^*$/', $i) { $numbers =...

С помощью регулярного выражения проверить наличие цифр в тексте
Заданный текст. Определить содержит ли он цифры.

Как проверить является ли символ кирилицей?
Как проверить является ли символ кирилицей?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru