首頁 > 軟體

Visual Studio 中使用正規表示式來進行查詢替換

2020-06-16 16:40:02

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">([srn]+)<Item( [^>]*)>([^<]*)</Item>([srn]+)</Item>
捕獲組 含義
( [^>]* )
這是第一個捕獲組,目的是捕獲 Item之後 ,Name 之前的內容,因為這段內容是變化的,在不同的地方會不一樣 
([srn]+)
這個第二個捕獲組,是為了匹配換行,新行前有不可見字元。
     
( [^>]*)
這是第三個捕獲組,為了捕獲子節點中的變化字元。
   
 ([^<]*)
這是第四個不過組,為了捕獲子節點的內容
([srn]+)
這是第五個捕獲組,是為了匹配換行,新行前有不可見字元。

通過上面的查詢正規表示式,我們就可以找到指定範圍內符合上面模式的字串。下面我們看一下替換正規表示式。

<Item$1Name="Click">$2<Item$3>Button:$4</Item>$5</Item>

      在替換正規表示式中,我們將查詢正規表示式中捕獲組對應的位置使用 $1,$2,.... 來替換,這樣就保證了查詢字串中對應內容的不變。

      而對應我們要修改的第四個捕獲組,我們使用 Button:$4  來替換,達到我們修改的目的。

      掌握 在Visual Studio 查詢替換時使用正規表示式的技能,如果日常工作中碰到在大量檔案中替換固定模式的字串,就會得心應手了。


IT145.com E-mail:sddin#qq.com