Using REGEXP_REPLACE in Oracle
-
06-10-2020 - |
Question
Am trying to use backreference expression to take out three subexpressions from a search, and reposition each subexpression as follows:
SELECT REGEXP_REPLACE('AAA 123 ppp','(^[[:alpha:]]+) ([[:digit:]]) ([[:alpha:]]+)','\3 \1 \2') from dual
However am getting the result as AAA 123 ppp where expecting ppp AAA 123 Where am i getting it wrong?
Solution
Missing +
after [[:digit:]]
select regexp_replace('AAA 123 ppp','(^[[:alpha:]]+) ([[:digit:]]+) ([[:alpha:]]+)','\3 \1 \2')
from dual
ppp AAA 123
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange