gpt4 book ai didi

regex - 排除正则表达式匹配中的字符串,以进行 sed 处理

转载 作者:行者123 更新时间:2023-12-02 02:18:38 24 4
gpt4 key购买 nike

我需要将其匹配为替代命令:

whatever__MATCH_THIS__whateverwhatever__AND_THIS__whateverwhatever

我正在尝试:

sed -e 's/__\(.*\)__/\{{\1}}/g' myfile

但是这是急切匹配__MATCH_THIS__whateverwhatever__AND_THIS__,产生:

whatever{{MATCH_THIS__whateverwhatever__AND_THIS}}whateverwhatever

但我想要:

whatever{{MATCH_THIS}}whateverwhatever{{AND_THIS}}whateverwhatever

如何在匹配部分中指定要排除的字符串?我知道如何排除一个字符(例如[^a]),但不知道如何排除字符串。

最佳答案

GNU sed

sed ':k s/__/{{/;s/__/}}/;tk' file

输入:

whatever__MATCH_THIS__whateverwhatever__AND_THIS__whateverwhatever
blah__XXX_XX__blah_blah_blah__XX_XXX__whateverwhatever

输出:

whatever{{MATCH_THIS}}whateverwhatever{{AND_THIS}}whateverwhatever
blah{{XXX_XX}}blah_blah_blah{{XX_XXX}}whateverwhatever

关于regex - 排除正则表达式匹配中的字符串,以进行 sed 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com