Ant replaceregexp删除" \"

时间:2017-11-10 11:11:48

标签: ant

替换值 replaceregexp 任务时删除反斜杠(" \")。下面是代码示例。

 <replaceregexp
      match="${search.expression}"
      replace="${replace.expression}"
      flags="mg">
      <fileset dir="${file.directory}" includes="${file.search}" />
 </replaceregexp>

任务的输入是:

 [echo] Search expression -- ^.*name="SqlServerConnectionString".*$
 [echo] Replace expression -- <add name="SqlServerConnectionString" connectionString="Data Source=localhost\MSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>

以下是替换值:

<add name="SqlServerConnectionString" connectionString="Data Source=localhosMSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>

请注意localhost\MSSQLSERVER2016localhosMSSQLSERVER2016

之间的区别

我需要按原样替换输入字符串。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

由于Ant的基于Java的代码解析字符串的方式,在这种情况下,您实际上需要转义反斜杠。只需将替换字符串更改为:

即可解决此问题
<add name="SqlServerConnectionString" connectionString="Data Source=localhost\\\\MSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>