现在的位置: 首页 > 综合 > 正文

字符组转译序列

2012年03月17日 ⁄ 综合 ⁄ 共 1091字 ⁄ 字号 评论关闭

-- 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

抱歉!评论已关闭.