Regex 正则表达式替换删除字符串

Regex 正则表达式替换删除字符串,regex,abap,Regex,Abap,我有任何线索: XXXXXXXXXXXXXX 我有3个字符串要替换: abc def ghi 示例字符串可能如下所示: XXXXXXXXXX ABCYYYYYDEFZZ 所需的输出将是: XXXXXXXXXX YYYYZZ 以下regexp工作正常: ^(.*)(?:abc|def|ghi)(.*)$ replacing with $1$2 但如果输入字符串不包含这3个字符串中的任何一个,则模式不匹配,输出为空 如何避免这种行为?只是在组中与字符串的其余部分不匹配。简单地替换 (?:abc

我有任何线索:

XXXXXXXXXXXXXX

我有3个字符串要替换:

  • abc
  • def
  • ghi
示例字符串可能如下所示:

XXXXXXXXXX ABCYYYYYDEFZZ

所需的输出将是:

XXXXXXXXXX YYYYZZ

以下regexp工作正常:

^(.*)(?:abc|def|ghi)(.*)$ replacing with $1$2
但如果输入字符串不包含这3个字符串中的任何一个,则模式不匹配,输出为空


如何避免这种行为?

只是在组中与字符串的其余部分不匹配。简单地替换

(?:abc|def|ghi)

使用空字符串。

语言为ABAP NW 7.31建议的模式根本不起作用@TusharOk但是replace语句必须是什么样子?@thefiloe,与当前语句相同,除了空字符串而不是
$1$2