2015-05-05 71 views
0

因此,我正在尋找一種方法來替換名稱包含'.Value'的<data>標記的整個實例。我爲此提出了一個正則表達式(下圖),但是看起來VS2013不支持多行查找/替換。 我正在尋找不需要第三方下載的解決方案(因爲這是爲了工作)。使用正則表達式查找並替換Mutli行?

正則表達式(適用於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> 

如果任何人有和想法或建議向多行查找/替換,他們將不勝感激。

回答

1

Visual Studio不支持多行正則表達式搜索。

您的文件可能使用\r\n;確保你的正則表達式匹配。

+0

嗯......,如果你使用'[\ S \ S]'絕招呢 -/ –

+0

太棒了,用這個裝了一個新的正則表達式。非常感謝! Incase desired:「 \ r \ n 。* \ r \ n」 – Jmnstr

0

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

我有點生鏽我的VS/C#,而是使用類似 an XMLParser

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

OP試圖在IDE中執行替換* *。 –

+0

我不知道OP正在處理什麼樣的數據,但是如果有很多文件,並且它們是人工編輯的,那麼XML解析器將是要去處理而不是處理每個空白區分的方式。一個小程序可以做到這一點。 – BrDaHa

相關問題