2012-08-07 79 views
0

我有很多的PHP頁面。每個PHP頁面有一個像這樣的字符串中:如何使用RegEx替換記事本++中的HTML代碼

<FONT COLOR="#0000FF">Post ID: 16107</FONT> 

,我想,以取代:

<A HREF="#16107">Post ID: 16107</A> 

但因爲每個PHP頁面都有不同的帖子ID,我想匹配每一次出現的字符串......我通常使用notepad2女巫支持正則表達式和記事本++也支持正則表達式。我怎樣才能將所有字符串替換爲所有文件夾中的所有文件?約350文件...

回答

0

好知道這是可能的:

在記事本++你需要搜索Keep ID: ([0-9]*)New ID: $1更換。

  • $0代表找到的全部內容,$1第一次在括號內找到。
  • 可以使用[]創建一個類(在這種情況下,數字0到9的)
  • 最後的星號告訴解析器儘可能經常重複previuos字符或字符類。
1

搜索

<FONT COLOR=".*?">Post ID: (\d+)<\/FONT>

更換

<A HREF="#$1">Post ID: $1<\/A>

+0

「$ 1」並不代表記事本++中的第一組。它是'\ 1' – 2012-08-07 13:50:37

+0

你也可以使用'$ 1' – 2012-08-07 13:51:50

+0

你是對的!謝謝! – 2012-08-07 13:53:52

2

替換:<FONT COLOR=".*?">(Post ID: ([0-9]+))</FONT>

帶:<A HREF="#\2">\1</A>

+0

+1。忽略其他答案,告訴您使用$ to進行匹配替換 - Notepad ++不支持。我懷疑他們不使用Notepad ++,它使用反斜槓:'\ 1',就像amiregelz在這裏顯示的那樣。 – Faust 2012-08-07 13:52:19

+0

@Faust顯然,Notepad ++確實支持'$'來引用正則表達式組。 – 2012-08-07 13:55:42

+0

@Faust Notepad ++確實支持'$ 1'替換配對... – 2012-08-07 13:58:58