元字符终极总结

-- Start

字符(Characters)

元字符(Metacharacter)匹配(Matches)
\aalert警报(\u0007)
\eescape Escape字符(\u001B)
\fform-feed进纸符(\u000C)
\nnewline换行符(\u000A)
\rcarriage-return回车(\u000D)
\ttab水平制表符(\u0009)
\numoctal八进制转义,支持范围从\0到\377
\xnumhexadecimal十六进制转义,支持范围从\x0到\xFF
\x{num}hexadecimal十六进制转义,不受限制
\unumUnicodeUnicode转义,支持范围从\u0000到\uFFFF
\UnumUnicodeUnicode转义,支持范围从\U0001到\UFFFF
\ccharcontrol控制字符,其中char是个大写字母,如:\cJ匹配换行符,等同于\n

字符组(Character classes)

元字符(Metacharacter)匹配(Matches)
[abc]simple class匹配a或b或c
[^abc]negation匹配abc之外的任何单个字符
[a-zA-Z]range匹配a到z或A到Z的任何单个字符
[a-d[m-p]]union等同于[a-dm-p]
[a-z&&[def]]intersection匹配d, e 或 f
[a-z&&[^bc]]subtraction等同于[ad-z]

预定义字符组(Predefined character classes)

元字符(Metacharacter)匹配(Matches)
.dot任何字符,能不能匹配换行符取决于匹配模式
\ddigit数字,等价于[0-9]
\Dnon-digit非数字,等价于[^0-9]
\swhitespace空白字符,等价于[ \t\n\x0B\f\r]
\Snon-whitespace非空白字符,等价于[^\s]
\wword组成单词的字符,等价于[a-zA-Z_0-9]
\Wnon-word不是组成单词的字符,等价于[^\w]

POSIX 字符组

元字符(Metacharacter)匹配(Matches)
[[:alnum:]]字母和数字
[[:alpha:]]字母
[[:blank:]]空格和制表符
[[:cntrl:]]控制字符
[[:digit:]]数字
[[:graph:]]非空白字符
[[:lower:]]小写字母
[[:print:]]类似[[:graph:]],但是包含空白字符
[[:punct:]]标点符号
[[:space:]]空白字符
[[:upper:]]大写字母
[[:xdigit:]]十六进制中容许出现的数字(例如 0-9a-fA-f)

零长度断言

元字符(Metacharacter)匹配(Matches)
caret行首
dollar行尾
\b boundary单词边界
\B  非单词边界
\< 单词的起始位置
\> 单词的结束位置
\A  字符串起始位置
\Z  字符串结束位置
\z  字符串结束位置
\G  本次匹配的起始位置或上次匹配的结束位置
(?=...)positive lookahead如果右边能够匹配,则成功
(?!...)negative lookahead如果右边不能够匹配,则成功
(?<=...)positive lookbehind如果左边能够匹配,则成功
(?<!...)negative lookbehind如果左边不能够匹配,则成功


贪婪量词

元字符(Metacharacter)匹配(Matches)
X?  匹配X 0次或1次
X*  匹配X 0次或无数次
X+  匹配X 1次或无数次
X{n}  匹配X n次
X{n,}  匹配X 至少n次
X{n,m}  匹配X 至少n次至多m次


非贪婪量词

元字符(Metacharacter)匹配(Matches)
X?? 匹配X 0次或1次
X*? 匹配X 0次或无数次
X+? 匹配X 1次或无数次
X{n}? 匹配X n次
X{n,}? 匹配X 至少n次
X{n,m}? 匹配X 至少n次至多m次


占有量词

元字符(Metacharacter)匹配(Matches)
X?+ 匹配X 0次或1次
X*+ 匹配X 0次或无数次
X++ 匹配X 1次或无数次
X{n}+ 匹配X n次
X{n,}+ 匹配X 至少n次
X{n,m}+ 匹配X 至少n次至多m次


分组,捕获及后向引用

元字符(Metacharacter)匹配(Matches)
(...) 分组或捕获
\n 引用第n个括号中匹配的内容
(?<name>...)命名捕获
(?:...) 分组
(?>…) 固化分组


多选结构

元字符(Metacharacter)匹配(Matches)
a|b|c 匹配a或b或c


条件判断

元字符(Metacharacter)匹配(Matches)
(?if then |else)条件为真,则匹配then子表达式,否则匹配else子表达式

匹配模式

元字符(Metacharacter)匹配(Matches)
(?i:...) 不区分大小写的匹配模式
(?x:...) 注释模式
(?s:...) 单行模式(点号通配模式)
(?m:...) 多行模式(增强的行锚点模式)
\Q...\E 文字文本模式

--更多参见:正则表达式精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-05-12
-- Written by ShangBo on 2012-05-06
-- End


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值