Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.04.2021, 21:50
|
|||
---|---|---|---|
|
|||
Экранирование символов от регулярных выражений |
|||
#18+
Всем привет! Мне нужно выбрать из таблицы записи, соответствующие некому шаблону регулярных выражений. Видел в форуме аналогичные вопросы, но ответов не увидел. Упросил до минимума пример: Код: plsql 1.
То есть выбираем записи, соответствующие входной строке и добавляем условие, что на конце цифры. Все бы хорошо, если бы входная строка не имела бы вид типа 'Test \q test', например В этом случае будет ошибка неизвестного квантификатора. Усложняется тем, что потенциально могут быть разные символы, не только обратный слэш, а скобки, причем '((...)' (открываются не столько, сколько закрываются, точки, знаки вопроса, в общем, все, что используется в атомах регулярки. Как можно заэкранировать символы? У меня были мысли все переводить в BASE64, например, но тогда непонятно, как вычленять концовку, что там цифры или еще как-то кодировать, но не придумал адекватного способа. Функции экранирования атомов регулярок я не нашел, есть в PG quote_literal, но она не экранирует все атомы, она экранирует обратные слеши, например, точки не экранирует знаки вопроса и прочее, в общем не предназначена для задачи. Есть решение какое-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1993879]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 436ms |
0 / 0 |