如何使用regexp_replace函数每两个字符放置一个点来替换字符串?
例如:
1=>1
12=>12
123=>12.3
1234=>12.34
12345=>12.34.5
123456=>12.34.56
... 等等。
我尝试了一些机会,但没有成功。
最佳答案
全局匹配(.{2})(?!$)
,并替换为$1.
。(?!$)
部分是一个否定的展望,阻止了最后两个数字的匹配。它避免了12.34
被12.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/