来自notepad ++的SED正则表达式语法

时间:2016-04-22 13:37:10

标签: regex replace sed notepad++

这是我的第一个问题;)

我在记事本++中查询 - 我想在两个其他人之间搜索特定的字符串。我需要用ie替换这个字符串。 xxxxxxxxxx,我在搜索:

<f n='foobar'><v>84093055983</v></f>

应该这样看:

<f n='foobar'><v>xxxxxxxxxxx</v></f>

<v>标签之间的数字总是不同,其余的总是相同的。 查询如下所示:(?<=(foobar'><v>))(\d{11})(.*?)(?=<)

我需要运行大约20个搜索和替换一个文件,我认为,某些脚本应该没问题,但记事本++没有这样的功能 - 我发现了一个SED(我使用的是Windows,所以SED来自CYGWIN)。

我尝试了几种不同的方法,但我无法弄清楚,这应该在SED中看起来如何。

或者你知道有什么好办法吗? ; P

1 个答案:

答案 0 :(得分:1)

使用sed -r "s#(f n='foobar'><v>)\d{11}(</v></f>)#\1xxxxxxxxxxx\2#g" inflile > outfile之类的内容或使用gnu sed的-i选项。

我使用s#PATTERN#REPLACEMENT#代替#代替/,因为您的搜索字符串中包含斜杠。