我正在使用posgresql,我遇到了正则表达式和特殊字符的问题。
select regexp_replace('asdf|asdf','|','.');
此函数返回:
.asdf|asdf
期望的输出:
asdf.asdf
我怎么解决?请帮助:)
答案 0 :(得分:3)
|
是正则表达式语法中的一个特殊字符,称为交替,它表示"或"。
你的正则表达式是在字符串的开头选择空字符串。
尝试转义它:
select regexp_replace('asdf|asdf','\|','.');
正如@pozs强调的那样,对于这个特定的任务,它更适合使用简单的replace
:
select replace('asdf|asdf','|','.');