Notepad ++正则表达式替换为斜杠和数字

时间:2011-02-09 20:45:19

标签: regex replace expression notepad++

我面临以下问题。我正在尝试从配置文件中替换多个路径。这些文件包含一个路径名列表(每行一个),如下所示:

\\some_server\a_resource\some_library\latest\name_of_the_library.dll
\\some_server\a_resource\other_library\latest\name_of_other_library.dll

我想用这个替换每一行:

\\some_server\a_resource\some_library\2.1\name_of_the_library.dll
\\some_server\a_resource\other_library\2.1\name_of_other_library.dll

所以,我使用notepad ++来替换所有文件,但这就是问题所在。

我使用的正则表达式是:

\\\\some_server\\a_resource\\(.*)\\latest\\

我希望将其替换为:

\\some_server\a_resource\\1\2.1\

结果:

\\some_server\a_resource\somelibrary.1\name_of_the_library.dll

问题是“替换为”字符串中的 \ 2 被视为匹配,并且被“”(无)替换,因为没有第二个匹配。

如何逃避“\ 2”所以结果是斜线和2 ??

注意:如果放置 \\ 2 ,结果为 \

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将其作为“替换为”字符串:

\\\\some_server\\a_resource\\\1\\2.1\\

即。 “... a_resource”+转义反斜杠(“\\”)+匹配字符串1(“\ 1”)+转义反斜杠(“\\”)+“2.1”+转义反斜杠(“\\”)

编辑:在'a_resource'之前需要一个双反斜杠,并在开始时加倍反斜杠。

答案 1 :(得分:1)

同样的问题,但我总是分两步完成:

  • 首先替换为\\\\some_server\\a_resource\\\1\\something_really_strange\\
  • 然后在正常模式下将'something_really_strange'替换为'2.1'