Маски файлов и регулярные выражения

Рейтинг: 0Ответов: 1Опубликовано: 27.07.2023

Смысл такой. Я программирую что-то вроде небольшой БД (в качестве упражнения). Одной из его подпрограмм должна быть программа поиска. Пользователь указывает что и по каким полям (столбцам) искать, а программа ищет. Все бы хорошо, но появилась следующая загвоздка. В качестве запроса к "поисковой системе" пользователь должен ввести номер столбца, по которому происходит поиск, и через двоеточие — собственно что нужно искать. Предметом поиска должно служить подобие файловых масок в винде: * - сколько угодно символов, ? - один символ, все остальные означают сами себя. Я так понимаю, что делать это нужно с помощью регулярных выражений. Стал пытаться подобрать в синтаксисе регулярок подобие этим символам — и не нашел! Нет, звездочка там есть, но она означает "насколько только можно больше". Есть плюс — "насколько можно меньше". А просто — "сколько угодно каких угодно символов" нету. Сделать такое самому, "c нуля", представляется мне очень сложным. Подскажите, как заменить обработать подобную маску регулярными выражениями.

Ответы

▲ 1Принят

Простой запрос
a*b превращается в a.*b, а запрос a?b превращается в a.b (одна точка равняется строго одному символу).

А вообще регулярки (regex) нужно хотя бы поверхностно знать. Тестировать и "расшифровывать" регулярки удобно там https://regexr.com/ (уверен таких сервисов много).