使用正则表达式查找和替换Mutli-line?

时间:2015-05-05 18:23:49

标签: regex visual-studio-2013 replace

因此,我正在寻找一种方法来替换<data>标记的整个实例,其中名称包含&#39; .Value&#39;。我已经为此启动了一个Regex(下图),但似乎VS2013不支持多行查找/替换。 我正在寻找一个不需要第三方下载的解决方案(因为这是为了工作)。

正则表达式(适用于http://www.regexr.com/):

  <data name=".*.Value" xml:space="preserve">\n    <value>.*</value>\n  </data>

好(保持):

  <data name="ListItemResource12.Text" xml:space="preserve">
    <value>Test Value</value>
  </data>

坏(替换):

  <data name="ListItemResource12.Value" xml:space="preserve">
    <value>123</value>
  </data>

如果有人对多线查找/替换有任何想法或提示,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

Visual Studio支持多行正则表达式搜索。

您的文件可能使用\r\n;确保你的正则表达式匹配。

答案 1 :(得分:0)

Don't use regex for this kind of thing,使用XML解析器更改值。

我的VS / C#上有点生疏,但使用类似的东西 an XMLParser

XMLParser(file.xml).findChildren("data").findChildren("value").setValue(123);