2017-10-20 38 views
-3

我想在VS代碼中放置一些文本的標籤(我不想替換現有的文本)。我如何使用find-replace來做到這一點。替換VS代碼中的搜索文本

作爲一個例子,考慮html代碼:

<td> 
    <img src=sr1> 
</td> 
<td> 
    <img src=sr2> 
</td> 

假設我現在希望把<img>標籤內<figure>標籤。

的預期結果是:

<td> 
    <figure> 
    <img src=sr1> 
    </figure> 
</td> 
<td> 
    <figure> 
    <img src=sr2> 
    </figure> 
</td> 

簡單的查找替換會工作,但如果所有的'標籤是相同的,因爲,在沒有我不能這樣做,同一來源。我如何在VS CODE或任何其他文本編輯器中執行此操作。

+0

那你試試?你自己的任何正則表達式?沒有慾望輸出的樣本? – PJProudhon

+0

[如何在VS代碼中做標籤封裝?](https://stackoverflow.com/questions/40155875/how-to-do-tag-wrapping-in-vs-code) – Alex

回答

0

在visual studio中,使用ctrl + h來取代。確保選擇「正則表達式」並關閉大小寫匹配。

爲您給出的例子,你會想與此正則表達式搜索:

<img [a-z]+=[a-z0-9]+> 

而與此替換:

<figure>\n\t$0\n\t</figure> 

正則表達式匹配僅僅是一個簡單的匹配任何您正在尋找的特定標籤:

<img 

然後匹配只查找alpha字符串的屬性wi的1或更大(用等號)個長度:

[a-z]+= 

,並用標記的值:

[a-z0-1]+ 

的替換正則表達式具有一定的靈活性。無論搜索匹配是由新行「\ n」還是製表符「\ t」包圍,「$ 0」都會輸出。只需稍微優化答案即可。您的問題中的標籤不完整。理想情況下,你想要的東西更像:

<img src="sr1" /> 

這將改變搜索REG前到

<img [a-z]+="[a-z0-9]+" />