【发布时间】:2019-06-25 21:31:06
【问题描述】:
我有一个字符串'SPECIFIC WORD BIG WORLD,SPECIFIC WORD BIG SUN'。 输出字符串应如下所示:'SPECIFIC WORD,SPECIFIC WORD'。换句话说,我想删除“特定单词”之后的所有内容,但我想保留逗号。到目前为止我尝试了什么:
declare
l_string varchar2(10000);
begin
l_string := 'SPECIFIC WORD BIG WORLD,
SPECIFIC WORD BIG SUN,
SPECIFIC WORD BIG EARTH';
dbms_output.put_line(l_string);
l_string := regexp_replace(l_string, '(SPECIFIC WORD) (BIG)(.*)(,)?', '\1\4');
dbms_output.put_line(l_string);
end;
/
我遇到的问题是,在最后一场比赛中,没有逗号,但是当我将此逗号标记为可选序列时,我根本没有逗号。有没有办法解决?我还尝试通过以下方式解决此问题: https://regex101.com/ 但我无法将可选逗号作为一个单独的组。
【问题讨论】:
标签: regex oracle regexp-replace