db2 相当于正则表达式替换((^[A-Z])|([IJ])|(?〈=).)在正则表达式子字符串中

dba5bblo  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(265)

在DB2中,下一个查询可以正常工作:

select  REGEXP_REPLACE( 'René de la Ömer-Arie IJsbrand IJsse'
                      ,'(^[A-Z])|([IJ])|(?<= ).','') FROM "SYSIBM".SYSDUMMY1

结果:ené e a mer-Arie sbrand sse
然而,我想达到相反的结果:

RdlÖIJIJ

如果我尝试使用regexp_substr等效项,它不会给予我想要的结果:

select  REGEXP_SUBSTR( 'René de la Ömer-Arie IJsbrand IJsse'
                  ,'(^[A-Z])|([IJ])|(?<= ).') FROM "SYSIBM".SYSDUMMY1

结果:R
有没有办法在使用(或不使用)regexp_substr的情况下实现结果“RdlÖIJIJ”?

ssm49v7z

ssm49v7z1#

您可以匹配IJ以外的字符,同时在左侧Assert非空白字符,并替换为空字符串。

(?<=\S)[^IJ]

Regex demo

相关问题