如何使用 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
关于regex - 如何在 PostgreSQL 中使用正则表达式每 2 个字符放一个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53889293/