我有任何字符串:
xxxxxxxxxxxxxxxx
我有3个字符串我想替换:
- abc
- def
- ghi
示例字符串可能如下所示:
xxxxxxxxxxx abcyyyydefzz
所需输出为:
xxxxxxxxxxx-yyyyzz
以下regexp运行良好:
^(.*)(?:abc|def|ghi)(.*)$ replacing with $1$2
但是,如果输入字符串不包含这3个字符串中的任何一个,则模式不匹配,输出为空。
我该如何避免这种行为?
只是不将字符串的其余部分分组匹配。只需更换
(?:abc|def|ghi)
带有空字符串。