gpt4 book ai didi

sql - RegExp 查找和替换忽略部分匹配

转载 作者:行者123 更新时间:2023-12-05 07:25:06 26 4
gpt4 key购买 nike

我有一个格式如下的字符串:

'(val$1,val$1,val$1,val$2,val$3,val$4,val$5,val$6,val$7,val$8,val$9,val$10,val$11,val$12)'

我想做的是将 val$1 替换为一些文本,例如XYZ

仅匹配 val$1 会产生:

'(XYZ,XYZ,XYZ,val$2,val$3,val$4,val$5,val$6,val$7,val$8,val$9,XYZ0,XYZ1,XYZ2)'

如果有人愿意帮助我,我很想知道什么 reg exp 会忽略末尾的那些,因此生成的字符串如下所示:

'(XYZ,XYZ,XYZ,val$2,val$3,val$4,val$5,val$6,val$7,val$8,val$9,val$10,val$11,val$12)'

最佳答案

您可以通过 \D 添加一个额外的数字到 regexp_replace 的模式中

select regexp_replace('(val$1,val$1,val$1,val$2,val$3,val$4,val$5,val$6,val$7,val$8,val$9,
val$10,val$11,val$12)','\val\$1(\D)','XYZ\1') as "Result"
from dual;

Result
----------------------------------------------------------------------------------
(XYZ,XYZ,XYZ,val$2,val$3,val$4,val$5,val$6,val$7,val$8,val$9,val$10,val$11,val$12)

关于sql - RegExp 查找和替换忽略部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com