Oracle:正则表达式替换模式上的多个替换

Oracle: Regex replace for multiple replacements on a pattern

我正在尝试找到解决方案,但不知何故我得到了错误的输出(参考了一些在线解决方案并使我自己感到困惑:( )。请告知我哪里出错了。

var := 'test_1_file1.extn1 test_1_file2.extn2'
select regexp_replace(var,'(test_1*.).*$','') from dual;

预期输出:应在 .operator 之前删除所有内容

extn1 extn2

试试这个:

SELECT
  regexp_replace( var, '([^ ]*\.)', '' ) replaced
FROM dual;

如果单词必须以test_1开头:

SELECT
  regexp_replace( var, '(test_1[^ ]*\.)', '' ) replaced
FROM dual;