Regexp_replace添加额外的字符

罗伯特·威尔斯

我在Oracle 11.2.0.3.0 / Toad for Oracle 11.6.1.6中使用以下查询:

select  regexp_replace('000010PARA197427'
                      ,'([0-9]*)([A-Z]*)([0-9]*)'
                      ,'\3-\2-\1') from dual

而不是让我的预期,197427-PARA-000010197427-PARA-000010--结果我得到了。

如果我将查询更改为:

select  regexp_replace('000010PARA197427'
                      ,'([0-9]*)([A-Z]*)([0-9]*)'
                      ,'\3-c\2-c\1') from dual

然后我得到197427-cPARA-c000010-c-c结果。

就像所有文字都被追加到结果的末尾一样。

任何帮助将非常感激。

不确定为什么会这样,但是由于您只有*量词而没有锚点,因此可能会得到空匹配(或类似的结果)。

固定模式(/^...$/)似乎有效。使用+而不是*任何量词也适用于此样本。

SQL> select regexp_replace('000010PARA197427'
                          ,'([0-9]+)([A-Z]*)([0-9]*)'
                          ,'\3-\2-\1') foo from dual ;

FOO
------------------
197427-PARA-000010

SQL> select regexp_replace('000010PARA197427'
                          ,'^([0-9]*)([A-Z]*)([0-9]*)$'
                          ,'\3-\2-\1') foo from dual ;

FOO
------------------
197427-PARA-000010

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle REGEXP_REPLACE帮助在数字字符串中添加破折号

来自分类Dev

PostgreSQL regexp_replace

来自分类Dev

Oracle Regexp_replace

来自分类Dev

regexp_replace替换字符串的错误部分

来自分类Dev

Teradata regexp_replace消除特定的特殊字符

来自分类Dev

Postgresql中的REGEXP_REPLACE不是子字符串

来自分类Dev

oracle使用REGEXP_REPLACE函数替换子字符

来自分类Dev

添加函数以替换使用反向引用的字符串时 Oracle REGEXP_REPLACE 出现问题

来自分类Dev

REGEXP_REPLACE反向引用

来自分类Dev

REGEXP_REPLACE捕获组

来自分类Dev

雪花REGEXP_REPLACE指南

来自分类Dev

蜂巢-复杂的regexp_replace

来自分类Dev

String.replace添加额外的字符

来自分类Dev

从字符串末尾替换字符串| REGEXP_REPLACE()

来自分类Dev

regexp_replace 使用 postgresql 在指定字符处截断字符串

来自分类Dev

Hive-多个字符串的regexp_replace函数

来自分类Dev

REGEXP_REPLACE模式必须为const?比较BigQuery中的字符串

来自分类Dev

不使用REGEXP_REPLACE和PL / SQL格式化UUID字符串

来自分类Dev

找到regexp_replace UDF配置单元以替换列中的字符串

来自分类Dev

Oracle,根据匹配的表达式替换 REGEXP_REPLACE 的字符串

来自分类Dev

Regexp_replace :从 Oracle 中的“+”分隔字符串中删除重复项

来自分类Dev

regexp_replace 在单引号和空格后获取特定字符

来自分类Dev

oracle中如何使用Regexp_Replace替换字符串

来自分类Dev

Oracle 12c REGEXP_REPLACE 从字符串中提取单词

来自分类Dev

如何使用MariaDB的REGEXP_REPLACE?

来自分类Dev

说明意外的regexp_replace结果

来自分类Dev

Oracle regexp_replace字母数字

来自分类Dev

REGEXP_REPLACE表达式问题

来自分类Dev

如何简化postgres regexp_replace

Related 相关文章

热门标签

归档