在我刚接触正则表达式的时候,总是记不住匹配符的含义。阅读或使用表达式时,总是反复地查看API文档,脖子都快扭掉了!不胜其烦。
终于,决心总结一下,发现,原来并不难。只要把基本的、常用的记住,其它的就可以触类旁通了。
正则表达式匹配符 | ||
数量词 | 含义 | 说明 |
? | 0次或1次 | |
+ | 1次或多次 | |
* | 0次或多次 | |
{n} | n次 | |
{n,} | 至少n次 | |
{n,m} | 至少n次,但不超过m次 | |
字符 | 含义 | 说明 |
. | 任何字符 | |
\w | 单词字符 | 大小写字母、数字和下划线 |
\W | 非单词字符 | |
\s | 空白字符 | Tab、回车、换行、换页符等 |
\S | 非空白字符 | |
\d | 数字 | [0-9] |
\D | 非数字 | [^0-9] |
[abc] | 字母a、b或c | |
[^abc] | 除a、b、c外的其它字母 | |
[a-z&&[^bc]] | a到z,除了b和c | |
[a-f[m-p]] | a到f或m到p | 等价于[a-fm-p] |
\n | 换行 | |
\r | 回车 | |
\t | Tab | |
\f | 换页 | |
边界匹配符 | 含义 | 说明 |
^ | 行的开头 | |
$ | 行的结尾 | |
\b | 单词边界 | |
\B | 非单词边界 |