RegEx查找和替换忽略零件匹配


無口君
2025-03-16 12:22:48 (2天前)


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

‘(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



3 条回复
  1. 0# trpnest | 2019-08-31 10-32



    你也可以搜索

    “val$1”

    其后是逗号或结束语(如果它恰好位于字符串的末尾)。




    1. val\$1(,|\)’, XYZ\1

    2. </code>

  2. 1# 那年 | 2019-08-31 10-32



    你真的需要正则表达式吗?对于好的,旧的来说,看起来像一个简单的任务

    REPLACE

    功能。如果您需要处理大量数据,则正则表达式可能会慢一些。




    1. SQL> select 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)’,
      2 val$1,’, xyz,’) result
      3 from dual;

    2. 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)

    3. SQL>

    4. </code>

登录 后才能参与评论