2016-11-15 80 views
0

我想用另一個正則表達式替換文件中的標準字符串。該標準文本看起來像:記事本++用正則表達式替換文本搜索結果

<xsl:variable name="ServiceCode" select="###"/> 

我想用servicecode取代###,我可以在同一個文件後發現,從這個網址:

<a href="/Services/xyz" target="_self"> 

正則表達式(?<=\/Services\/)(.*)(?=\") 返回所需的服務代碼「xyz」。

所以,我打開記事本+ +,增加了「###」到「查找內容」,這正則表達式「替換爲」部分,預計###文本將被xyz被替換。 但我得到了這樣的結果:

<xsl:variable name="ServiceCode" select="?<=/Services/.*?=" "/> 

我是新來的正則表達式,我需要比我用來查找字符串使用不同的語法替換部分?有人可以給我一個提示如何達到所需的結果嗎?目標是標準化大量具有相似結構的文件,因爲現在所有的服務代碼都在文件的多個位置進行了硬編碼。謝謝。

回答

0

我不是RegEx的專家,但我想我可以幫忙。看起來你可能會以錯誤的方式進行。正在使用的正則表達式搜索通常會像這樣工作:

RegEx中的括號()允許您選擇部分搜索並在替換部分中使用該搜索。

您將(?<=\/Services\/)(.*)(?=\")放入Notepad ++中的「查找內容」部分。

然後在節「替換爲」你可以使用\1\2\3什麼是在(?<=\/Services\/)(.*)(?=\")分別搜索發現,以取代你的搜索內容。

根據您的文件結構,您需要使用正則表達式搜索來選擇兩行代碼(以及您需要的特定部分),然後使用\1\2\3等的組合來替換所有內容,除了###,您可以用與xyz關聯的\number替代。

有關更多信息,請參閱http://docs.notepad-plus-plus.org/index.php/Regular_Expressions