我有一个字符串:
AAA|BBBB|CCCCCC|DDD|EEE|FFF
我需要一个正则表达式来替换第三个管道后面带有感叹号!
的所有管道,如下所示:
AAA|BBBB|CCCCCC|DDD!EEE!FFF
我可以选择^(?:[^|^\n]*\|){3}([^|^\n]*\|){1,}.*$
但无法找到替换方法。
我花了一天时间在Notepad ++中尝试一些东西但没有成功:-(谢谢!
答案 0 :(得分:3)
您在正确的轨道上只需要在交替中匹配和捕获其他管道。
找到:
^(?:[^|]*\|){3}\K|(\|)
替换为:
(?1!)
替换字符串遵循条件语句,这意味着如果我们要在捕获组#1时替换,请插入!
。