标签:
\d |
匹配任何十进制数字 ; 相当于 [0-9] |
\D |
和\d相反 匹配任何非十进制数字的字符 ; 相当于 [^0-9] |
\s |
匹配任何空白字符 ( 包含空格 , 换行符 , 制表符等 ) ; 相当于[\t\n\r\f\v] |
\S |
和\s相反 , 匹配任何非空白字符 ; 相当于类[^t\n\r\v\f] |
\w |
匹配任何单词字符 [a-zA-Z] |
\W |
自己想. |
\b |
匹配单词的开始或者结束 |
\B |
... |
步骤 | 匹配 | 说明 |
1 | a | 匹配 RE 的第一个字符 ‘a‘ |
2 | abcbd | 引擎在符合规则的情况下尽可能地匹配 [bcd]*,直到该字符串的结尾 |
3 | 失败 | 引擎尝试匹配 RE 最后一个字符 ‘b‘,但当前位置已经是字符串的结尾,所以失败告终 |
4 | abcb | 回退,所以 [bcd]* 匹配少一个字符 |
5 | 失败 | 再一次尝试匹配 RE 最后一个字符 ‘b‘,但字符串最后一个字符是 ‘d‘,所以失败告终 |
6 | abc | 再次回退,所以 [bcd]* 这次只匹配 ‘bc‘ |
7 | abcb | 再一次尝试匹配字符 ‘b‘,这一次字符串当前位置指向的字符正好是 ‘b‘,匹配成功 |
标签:
原文地址:http://www.cnblogs.com/A-FM/p/5811853.html