Как использовать регулярные выражения в PostgreSQL, чтобы поставить одну точку каждые 2 символа? - PullRequest
0 голосов
/ 21 декабря 2018

Как заменить строку, поставив точку через каждые два символа, используя функцию regexp_replace?

Например:

1 => 1

12 => 12

123 => 12,3

1234 => 12,34

12345 => 12,34,5

123456 => 12,34,56

... и т. д.

Я попробовал некоторые шансы, но мне это не удалось.

1 Ответ

0 голосов
/ 21 декабря 2018

Совпадение (.{2})(?!$) в глобальном масштабе и замена его на $1..

. Часть (?!$) имеет негативный взгляд вперед и не позволяет сопоставить последние два числа.12.34.

test=> select regexp_replace('12345678', '(.{2})(?!$)', '\1.', 'g');
 regexp_replace 
----------------
 12.34.56.78

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...