本文共 1172 字,大约阅读时间需要 3 分钟。
-- Start
还记得我们在这一节中是如何匹配数字的吗? 对了, 是[0-9], 事实上如果你这样去匹配一个数字,别人可能要笑话你 out 了, 更常用的是\d,而且 \d 比前者更强大, 因为如果工具支持 Unicode,它还可以匹配中文全角数字,在 EmEditor 中试一试吧。
有匹配数字的需求,当然肯定会有匹配非数字的需求,试一试 \D 吧。当然你也可以用 [^0-9] 或 [^\d]。
如果你想匹配一个组成单词的字符,该怎么办呢? 试一试 [a-zA-Z0-9_] 吧,当然更常用的是 \w,而且 \w 比前者更强大,因为如果工具支持 Unicode, 它还可以匹配汉字,在 EmEditor 中亲自操练一下吧。
当然,如果让你匹配一个非组成单词的字符,该怎么办呢?不知道? 好好想想。看看上面的非数字,你猜对了,是 \W,当然也可以这样[^\w]。
大家知道什么叫空白字符吗? 像空格、tab等这类字符我们称之为空白字符,因为我们无法看到它们。我们可以用 [ \t\v\r\n\f] 来匹配空白字符,当然更常用的是 \s,那如何匹配非空白字符呢? 试一试 \S 吧,当然你也可以用[^\s]。
恭喜你,你又学会了6个元字符。
元字符 名称 匹配对象 . 点号(dot) 单个任意字符 \n 换行(newline) 换行 \r 回车(return) 回车 \t 制表符(Tab) 制表符 [...] 字符组(Character Class) 列出的任意字符 [^...] 排除型字符组(Negated Character Class) 未列出的任意字符 \d 数字(digit) 数字 \D 非数字 \w 单词(word) 单词字符 \W 非单词字符 \s 空白字符(whitespace) 空白字符 \S 非空白字符 ^ 脱字符(caret) 行的起始位置 $ 美元符(dollar) 行的结束位置 \< 单词的起始位置 \> 单词的结束位置 \b 边界(Boundary) 单词边界 \B 非单词边界 (?=...) 肯定顺序环视(Positive Lookahead) 成功如果右边能够匹配 (?!...) 否定顺序环视(Negative Lookahead) 成功如果右边不能够匹配 (?<=...) 肯定逆序环视(Positive Lookbehind) 成功如果左边能够匹配 (?<!...) 否定逆序环视(Negative Lookbehind) 成功如果左边不能够匹配 | 竖线(bar) 匹配分割两边的任意一个表达式
---更多参见: -- 声 明:转载请注明出处 -- Last Updated on 2012-05-12 -- Written by ShangBo on 2012-04-23 -- End