-- Start
字符(Characters)
元字符(Metacharacter) 匹配(Matches) \a alert 警报(\u0007) \e escape Escape字符(\u001B) \f form-feed 进纸符(\u000C) \n newline 换行符(\u000A) \r carriage-return 回车(\u000D) \t tab 水平制表符(\u0009) \num octal 八进制转义,支持范围从\0到\377 \xnum hexadecimal 十六进制转义,支持范围从\x0到\xFF \x{num} hexadecimal 十六进制转义,不受限制 \unum Unicode Unicode转义,支持范围从\u0000到\uFFFF \Unum Unicode Unicode转义,支持范围从\U0001到\UFFFF \cchar control 控制字符,其中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 任何字符,能不能匹配换行符取决于匹配模式 \d digit 数字,等价于[0-9] \D non-digit 非数字,等价于[^0-9] \s whitespace 空白字符,等价于[ \t\n\x0B\f\r] \S non-whitespace 非空白字符,等价于[^\s] \w word 组成单词的字符,等价于[a-zA-Z_0-9] \W non-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