簡體   English   中英

記事本中的正則表達式可替換

[英]Regex in Notepad++ for replacement

我已經搜索了該信息,但無法弄清楚如何正確理解正則表達式。 我有一個html文件,並且有多個<img>標記。 這些標簽中的每一個都具有帶有以下數據的attribe src/newsletter/images/light/b/NUMERICVALUE/IMAGENAME.jpg

假設NUMERICVALUEIMAGENAME在每個src屬性中始終是不同的值。

我需要從每個URL中刪除/NUMERICVALUE 我應該怎么做?

感謝您的任何建議。

以下是示例列表:

/newsletter/images/light/b/617359405/lf-header.jpg /newsletter/images/light/b/617359406/up-logo.jpg /newsletter/images/light/b/617359407/logo-header.jpg

搜索: src=\\"\\/newsletter\\/images\\/light\\/b\\/[^\\/]*\\/([^\\"]*)\\"
替換: src="/newsletter/images/light/b/\\1"

說明:

  • 定義完整的URI: \\/newsletter\\/images\\/light\\/b\\/[^\\/]*\\/([^\\"]*)
  • 這將找到沒有/斜杠[^\\/]*
  • 這將找到沒有引號的任何內容([^\\"]*)
  • ()告訴正則表達式引擎捕獲其內容
  • 在替換\\1 ,正則表達式引擎將捕獲1插入此位置

編輯 :更新為可在注釋中提到的所有src=屬性上使用。

我猜NUMERICVALUE是一個實際的數值,所以一個簡單的解決方案:

Find what: /newsletter/images/light/b/\d+/([a-zA-Z0-9_]+).jpg
Replace with: /newsletter/images/light/b/\1.jpg

[a-zA-Z0-9_]內容更改為所需的內容。

這幾乎與編程無關,但無論如何:

Find what: (<img src=.*/)\d+/
Replace with: \1

輸入:

<img src="/newsletter/images/light/b/654/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/5752/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/78697345/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/7896789/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/45/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/8/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/4567837/IMAGENAME.jpg"/>

輸出:

<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>
<img src="/newsletter/images/light/b/IMAGENAME.jpg"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM