sql - 如何构造特定的正则表达式
问题描述
我想创建一个正则表达式,用“*”替换字符串中除最后两个字符之外的每个字符。例如:'abcdefgh' --> '******gh'
我正在使用 oracle 的 regexp_replace,我写了类似的东西:
regexp_replace('dfdfdfdfsdf','(.*)(..)','*\2',1,0)
但它以一个“*”结尾
dfdfdfdfsdf --> *df
我会很感激你的帮助
解决方案
您可以使用LPAD
.
select LPAD(SUBSTR('dfdfdfdfsdf',-2),LENGTH('dfdfdfdfsdf'),'*') from dual;
输出
*********df
推荐阅读
- r - 如何摆脱多面图中的空条形图?
- mysql - 如何在 MySQL 列注释中连接字符串?
- python - Google Cloud Engine - 如何在 Python 3.7 中接收和处理电子邮件?
- java - 如何在 .jar 中包含和访问图像
- c# - 如何更改此动画过渡以自动发生?
- c# - 如何将 List 方法更改为 Array 方法?
- java - Spring Boot - 如何使用 cors 和 spring security 修复 Session bean
- ios - WebRTC iOS 13 问题与 Metal
- java - 如何在 Java 中截断部分字符串?
- amazon-web-services - 需要移动已部署的文件夹 - AWS CodeDeploy