正则表达式_替换函数

问题描述 投票:0回答:1

我正在尝试将以下字符串替换为距开头和结尾 2 个字符的偏移量。

输入示例:A9999999999

预期输出:A9********99

我已尝试以下方法,但无法缩小到确切的格式

  • regexp_replace(a, '[0-9]', '*') as  a
  • REGEXP_REPLACE(a, '[0-9]', '*', 6) as a
  • REGEXP_REPLACE(a, '\1((.*)\4$)', '\1*******\3') as  a
sql regex oracle plsql
1个回答
0
投票

REGEXP_REPLACE('A9999999999', '(?<=..).(?=..)', '*')
应该可以。

(?<=..)
确保所选字符之前至少有 2 个字符,
(?=..)
确保所选字符之后至少有 2 个字符。

© www.soinside.com 2019 - 2024. All rights reserved.