【发布时间】:2017-08-08 10:49:46
【问题描述】:
我正在尝试找到解决方案,但不知何故我得到了错误的输出(参考了一些在线解决方案并让自己感到困惑:()。请告知我哪里出错了。
var := 'test_1_file1.extn1 test_1_file2.extn2'
select regexp_replace(var,'(test_1*.).*$','\2') from dual;
预期输出:应该在 .operator 之前删除所有内容
extn1 extn2
【问题讨论】:
-
\2 表示搜索模式中第二组括号中的子模式。您的搜索模式中只有一组括号,因此这是行不通的。那你说之前的一切。必须去,但在你的例子中,你搜索特定的文本。哪个是对的?不可能两者兼而有之。另请注意,句点是正则表达式中的元字符,如果您搜索句点,则必须对其进行转义。
-
哦,非常感谢您的提示。我是新手,我知道我一定做错了。正如我在预期输出中所说的那样,这是正确的,我所期待的,我尝试过的可能绝对是你所说的错误
标签: regex oracle plsql regexp-replace