
表达式#




字符组#

POSIX 字符集 | 描述 |
---|
[[:alnum:]] | 字母数字字符 (字母和数字) |
[[:alpha:]] | 字母字符(字母) |
[[:ascii:]] | ASCII字符 (总共128个) |
[[:blank:]] | 空白字符 |
[[:ctrl:]] | 控制字符 |
[[:digit:]] | 数字 |
[[:graph:]] | 图形字符 |
[[:lower:]] | 小写字母 |
[[:print:]] | 可打印字符 |
[[:punct:]] | 标点符号 |
[[:space:]] | 空格字符 |
[[:upper:]] | 大写字母 |
[[:word:]] | 单词字符 |
[[:xdigit:]] | 十六进制数字 |
关于量词的贪心、懒惰、占有#
- 量词首次尝试匹配整个字符串,如果失败则回退一个字符后再次尝试,这个过程叫做回溯(backtracking)。
- 量词自身是贪心的。
- 贪心的量词会首先匹配整个字符串。尝试匹配时,它会选定尽可能多的内容,也就是整个输入,它会每次回退一个字符,直到找到匹配的内容或者没有字符可尝试为止。此外,它还记录所有的行为,因此资源的消耗较大。
- 懒惰的量词会从目标的起始位置开始尝试寻找匹配,每次检查字符串的一个字符,寻找它要匹配的内容,最后,它会尝试匹配整个字符串。
- 占有量词会覆盖整个目标然后尝试寻找匹配内容,但它只尝试一次,不会回溯。