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

В 14 postgres функция regexp_replace и regexp_match неверно обрабатывают комбинацию .*?

и .+?
нежадный алгоритм работает как жадный.
Проверил онлайн на 2х сайтах - выражение составил верное

10 ответов

24 просмотра

судя по примеру — это таки жадное выражение

Это вы решили маскировать данные в JSON через regexp'ы ? ;)

Ildar-Garaev Автор вопроса
Ildar Garaev
да :)

А это читали? Приведите пример куска JSON где есть ключ, значение которого надо скрыть (чувствительные данные замажьте), попробую помочь вам с regexp'ами если вы непременно их желаете.

Ildar Garaev
а где тут JSON

Не понял вопроса. Вы о том, что там речь о JSONB идет? Так всё это и для JSON применимо, за очень небольшим исключением.

Просто для информации: PostgreSQL использует собственный движок "регулярок", его поведение резко отличается от "привычных" (PCRE и т.п.) в нетривиальных случаях, поэтому: . Выражение Вы составили неверное (в PostgreSQL оно жадное, строго по документации). . Поэтому все "онлайн сайты" — мимо. . Какие на самом деле синтаксис и семантика "регулярок" в PostgreSQL — см. именно его документацию.

Ildar-Garaev Автор вопроса
Yaroslav Schekin
Просто для информации: PostgreSQL использует собст...

я нашел уже как надо. Если жадное первое выражение до оно автоматом делает всех жадными на этом уровне. Я переписал и все получилось. Но это конечно не однозначное поведение

Ildar Garaev
я нашел уже как надо. Если жадное первое выражение...

Да поведение-то совершенно однозначное и логичное, как раз... но есть один нюанс: "The main problem with pg's regex engine is how it handles non-greedy constructs — it has a rule for how they should work which is simple and consistent and which always does nothing like what you actually want." © RhodiumToad

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта