2012-08-07 62 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