Dreamweaver 搜索里的正则表达式
这些天要帮人改版网站,说是改版,其实是叫我把别人网站里的界面原物搬下来。用Teleport pro对某站点整站下载之后,用Dreamweaver打开,发现代码里有大量的冗余代码,比如:
![](http://www.blogjava.net/Images/dot.gif)
中的tppabs标签(估计是Teleport pro为了方便其自身更新时加上的标记)
如此多的代码最好的办法就是匹配替换了。网上搜索了一下,发现竟然有位老兄遇到跟我一样的问题,按照他的办法,可以通过Dreamweaver的正则表达式匹配进行替换。在Dreamweaver的帮助里可以找到正则表达式中使用的特殊字符列表。
根据列表写出上面两句冗余代码的匹配是:
匹配tppabs标签:
\btppabs="h[^"]*"
匹配javascript代码:
href="javascript:if\(confirm\('htt[^"]*"
然后再根据自己的需要替换就行好了。真是很方便!
href="[^"]*"搜索的是所有的href连接
href="h[^"]*"搜索的是所有以h开头的href连接
正则表达式是以文本描述字符组合的模式。在代码搜索中使用它们有助于描述一些概念,例如以“以‘var’开始的行”和“包含数字的属性值”。有关搜索的更多信息,请参见搜索和替换标签和属性。
下表列出了在正则表达式中使用的特殊字符、其含义和用法示例。若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其“转义”。例如,若要在 some conditions apply*
短语中搜索实际的星号,您的搜索模式应类似于:apply\*。如果您没有令星号转义,您将找到“apply”的所有匹配项(以及“appl”、“applyy”和“applyyy”的所有匹配项),而不只是后面跟有星号的那些匹配项。
字符 |
匹配 |
示例 |
---|---|---|
^ |
输入或行的起始部分。 |
|
$ |
输入或行的结尾部分。 |
|
* |
0 个或多个前置字符。 |
|
+ |
1 个或多个前置字符。 |
|
? |
前置字符最多出现一次(即,指示前置字符是可选的)。 |
|
. |
除换行符外的任何单字符。 |
|
x|y |
x 或 y。 |
|
{n} |
恰好 n 个前置字符。 |
|
{n,m} |
至少 n 个、至多 m 个前置字符。 |
|
[abc] |
用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如,[a-f] 等效于 [abcdef])。 |
|
[^abc] |
未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 |
|
\b |
词边界(例如空格或回车符)。 |
|
\B |
词边界之外的任何内容。 |
|
\d |
任何数字字符。等效于 [0-9]。 |
|
\D |
任何非数字字符。等效于 [^0-9]。 |
|
\f |
换页符。 |
|
\n |
换行符。 |
|
\r |
回车符。 |
|
\s |
任何单个空白字符,包括空格、制表符、换页符或换行符。 |
|
\S |
任何单个非空白字符。 |
|
\t |
制表符。 |
|
\w |
任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 |
b\w* 匹配“the barking dog”中的“barking”和“the big black dog”中的“big”和“black” |
\W |
任何非字母数字字符。等效于 [^A-Za-z0-9_]。 |
\W 匹配“Jake&Mattie”中的“&”和“100%”中的“%” |
Ctrl+Enter 或 Shift+Enter (Windows)、或者 Ctrl+Return 或 Shift+Return 或 Command+ Return (Macintosh) |
回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配 |
|
使用括号在正则表达式内分隔出以后要引用的分组。然后在“替换”域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。
注意 |
|
在“查找内容”文本框中使用 \1、\2、\3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。 |
例如,通过搜索 (\d+)\/(\d+)\/(\d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式日期和欧洲样式日期之间进行转换)。