定位

表达式

量词

字符组

POSIX 字符集 描述
[[:alnum:]] 字母数字字符 (字母和数字)
[[:alpha:]] 字母字符(字母)
[[:ascii:]] ASCII字符 (总共128个)
[[:blank:]] 空白字符
[[:ctrl:]] 控制字符
[[:digit:]] 数字
[[:graph:]] 图形字符
[[:lower:]] 小写字母
[[:print:]] 可打印字符
[[:punct:]] 标点符号
[[:space:]] 空格字符
[[:upper:]] 大写字母
[[:word:]] 单词字符
[[:xdigit:]] 十六进制数字

关于量词的贪心、懒惰、占有

  • 量词首次尝试匹配整个字符串,如果失败则回退一个字符后再次尝试,这个过程叫做回溯(backtracking)。
  • 量词自身是贪心的。
  • 贪心的量词会首先匹配整个字符串。尝试匹配时,它会选定尽可能多的内容,也就是整个输入,它会每次回退一个字符,直到找到匹配的内容或者没有字符可尝试为止。此外,它还记录所有的行为,因此资源的消耗较大。
  • 懒惰的量词会从目标的起始位置开始尝试寻找匹配,每次检查字符串的一个字符,寻找它要匹配的内容,最后,它会尝试匹配整个字符串。
  • 占有量词会覆盖整个目标然后尝试寻找匹配内容,但它只尝试一次,不会回溯。