如何使用regexp_replace函数每两个字符放置一个点来替换字符串?
例如:
1=>1
12=>12
123=>12.3
1234=>12.34
12345=>12.34.5
123456=>12.34.56
... 等等。
我尝试了一些机会,但没有成功。

最佳答案

全局匹配(.{2})(?!$),并替换为$1.
(?!$)部分是一个否定的展望,阻止了最后两个数字的匹配。它避免了12.3412.34.

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

Demo

关于regex - 如何在PostgreSQL中使用正则表达式每2个字符加1分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53889293/

10-14 18:54
查看更多