0
Posted Sinsa_SI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0相关的知识,希望对你有一定的参考价值。
原始代码
select regexp_replace(string_data, "\\\\*+", "%") as new_string
from test_tb
报错信息
Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
分析过程
因为+、*、|、\\等符号在正则表达示中有相应的不同意义,所以在使用时要进行转义处理。转义的办法有两种:
- 加双斜杠进行转义,例如将
*
写成\\\\*
; - 将需要转义的字符放在
[]
中,例如将*
写成[*]
.
解决方案
问题是这地方已经用双斜杠(方法 1)做了转义,仍然报错了,为此,可改用转义方法 2,使问题得到解决。sql code 如下:
select regexp_replace(string_data, "[*]+", "%") as new_string
from test_tb
以上是关于0的主要内容,如果未能解决你的问题,请参考以下文章