1.打開visual Studio 2. 通過菜單Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H 打開在文件中查找對話框,如下: Find What: 填寫查找語句的地方,可以是入任何查找關鍵字,也可以是正則表達式 ...
1.打開visual Studio
2. 通過菜單Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H 打開在文件中查找對話框,如下:
Find What: 填寫查找語句的地方,可以是入任何查找關鍵字,也可以是正則表達式。
Replace With: 填寫替換語句的地方。
Look in:查找位置,可以是當前文檔,打開文檔,當前工程,全部工程,指定目錄等等。
3. 假定我們在一個目錄下的多個文件中存在下麵模式的內容
<Item Description=" Today" Name="Click"> <Item Description="" Name="">開始</Item> </Item>
我們需要將上面的代碼替換為下麵的結果,就是在開始前面追加 Button:
<Item Description=" Today" Name="Click"> <Item Description="" Name="">Button:開始</Item> </Item>
上面代碼的特征是Item 節點的 Name="Click" ,Item 節點有一個子節點,針對上面的模式我們開始寫查找正則表達式。
查找正則:
<Item( [^>]* )Name="Click">([\s\r\n]+)<Item( [^>]*)>([^<]*)</Item>([\s\r\n]+)</Item>
捕獲組 | 含義 |
( [^>]* ) |
這是第一個捕獲組,目的是捕獲 Item之後 ,Name 之前的內容,因為這段內容是變化的,在不同的地方會不一樣 |
([\s\r\n]+) |
這個第二個捕獲組,是為了匹配換行,新行前有不可見字元。 |
( [^>]*) |
這是第三個捕獲組,為了捕獲子節點中的變化字元。 |
([^<]*) |
這是第四個不過組,為了捕獲子節點的內容 |
([\s\r\n]+) |
這是第五個捕獲組,是為了匹配換行,新行前有不可見字元。 |
通過上面的查找正則表達式,我們就可以找到指定範圍內符合上面模式的字元串。下麵我們看一下替換正則表達式。
<Item$1Name="Click">$2<Item$3>Button:$4</Item>$5</Item>
在替換正則表達式中,我們將查找正則表達式中捕獲組對應的位置使用 $1,$2,.... 來替換,這樣就保證了查找字元串中對應內容的不變。
而對應我們要修改的第四個捕獲組,我們使用 Button:$4 來替換,達到我們修改的目的。
掌握 在Visual Studio 查找替換時使用正則表達式的技能,如果日常工作中碰到在大量文件中替換固定模式的字元串,就會得心應手了。