字符组转译序列

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值