Dreamweaver CS4 中的正则表达式
December 8th, 2008
Categories: 教程
Dreamwaver CS4其实与vim一样,都是好用的编辑器而已。两者都支持正则表达式。本文主要介绍DW下的正则表达式。
从DW的官方文档中,正则式部分有这样一张表(点此下载:Dreamwaver CS4中文PDF帮助(20M)、Dreamwaver CS4英文PDF帮助(20M)):
| 字符 | 匹配 | 示例 |
| ^ | 输入或行的起始部分。 | ^T 与“This good earth” 中的“T” 匹配,但是与“Uncle Tom’s Cabin” 无匹配内容 |
| $ | 输入或行的结尾部分。 | h$ 与“teach” 中的“h” 匹配,但是与“teacher” 无匹配内容 |
| * | 0 个或多个前置字符。 | um* 与“rum” 中的“um”、“yummy” 中的“umm” 和“huge” 中的“u” 匹配 |
| + | 1 个或多个前置字符。 | um+ 与“rum” 中的“um” 和“yummy” 中的“umm” 匹配,但是和“huge” 无匹配内容 |
| ? | 前置字符最多出现一次(即,指示前置字符是可选的)。 | st?on 与“Johnson” 中的“son” 和“Johnston” 中的“ston” 匹配,但是与“Appleton” 或“tension” 无匹配内容 |
| . | 除换行符外的任何单字符。 | .an 与“bran muffins can be tasty” 短语中的“ran” 和“can” 匹配 |
| x|y | x 或 y。 | FF0000|0000FF 与 bgcolor="#FF0000" 中的“FF0000” 和 font color="#0000FF"中的“0000FF” 匹配 |
| {n} | 恰好 n 个前置字符。 | o{2} 与“loom” 中的“oo” 和“mooooo” 中的前两个字母 o 匹配,但是与“money” 无匹配内容 |
| {n,m} | 至少 n 个、至多 m 个前置字符。 | F{2,4} 与“#FF0000” 中的“FF” 和“#FFFFFF” 中的前四个字母 F 匹配 |
| [abc] | 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于[abcdef])。 | [e-g] 与“bed” 中的“e”、“folly” 中的“f” 和“guard” 中的“g” 匹配 |
| [^abc] | 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如, [^a-f] 等效于[^abcdef])。 | [^aeiou] 最初与“orange” 中的“r”、“book” 中的“b” 和“eek!” 中的“k” 匹配 |
| \b | 词边界(例如空格或回车符)。 | \bb 与“book” 中的“b” 匹配,但是与“goober” 或“snob” 无匹配内容 |
| \B | 词边界之外的任何内容。 | \Bb 与“goober” 中的“b” 匹配,但是与“book” 无匹配内容 |
| \d | 任何数字字符。等效于 [0-9]。 | \d 与“C3PO” 中的“3” 和“apartment 2G” 中的“2” 匹配 |
| \D | 任何非数字字符。等效于 [^0-9]。 | \D 与“900S” 中的“S” 和“Q45” 中的“Q” 匹配 |
| \f | 换页符。 | \sbook 与“blue book” 中的“book” 匹配,但是与“notebook” 无匹配内容 |
| \n | 换行符。 | \Sbook 与“notebook” 中的“book” 匹配,但是与“blue book” 无匹配内容 |
| \r | 回车符。 | |
| \s | 任何单个空白字符,包括空格、制表符、换页符或换行符。 | |
| \S | 任何单个非空白字符。 | |
| \t | 制表符。 | |
| \w | 任何字母数字字符,包括下划线。等效于 [A-Zaz0-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) | 回车符。确保如果没有使用正则表达式,则在搜索时取消对“ 忽略空白差别” 的选择。请注意,该字符是特定字符,而不是一般意义上的换行符;例如,它并不是 <br> 标签或 <p> 标签。回车符在“设计” 视图中显示为空格而不是换行符。 |
原注1:使用括号在正则表达式内分隔出以后要引用的分组。然后在“ 替换” 域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。
原注2: 在“ 查找内容” 框中使用 \1、\2、\3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。
例如,通过搜索 (\d+)\/(\d+)\/(\d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式
日期和欧洲样式日期之间进行转换)。
这张表比较完备地介绍了DW下正则表达式的基本特性。这对于一般的搜索、替换,已经够用。当然,如果您还有更进阶的应用,还可以亲自尝试一下这张表中没有列出来的属性。比如,在DW还可以用这样的正则式:[a-z]+(?!\d+)
其匹配结果是abcdefg123456,xyz,以及piggg0223
。
正则表达式新手学习中.很多编辑工具都支持正则表达式?
是统一的还是要单独学?
不如点评下几款常用的文本编辑器吧,比如 Notepad++,Ultraedit,等等
[Reply]