正则表达式

144 阅读2分钟

通配符与正则表达式

通配符通常会用在模糊查询的场景中,正则表达式匹配的精确度比通配符更高。

  • 通配符是用来处理文件名。
  • 正则表达式是处理文本内容中字符。必须加双引号。

正则表达式

正则表达式—通常用于判断语句中,用来检查某一字符串是否满足某一格式。

正则表达式是由普通字符元字符组成:

  • 普通字符 包括大小写字母、数字、标点符号及一些其他符号。
  • 元字符 是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式。

常见元字符

转义字符\

\ 可以把一些特殊的符号转换成普通的符号字符,还可以把一些普通字符转换成特殊功能

  • .   匹配任意单个字符,可以是一个汉字
  • () 使用转义符,只表示()
  • []   匹配指定范围内的任意单个字符,示例:[dn]   [0-9]   []   [a-zA-Z] [:alpha:]
  • [^] 匹配指定范围外的任意单个字符,示例:[^dn] [^a.z]
  • [:alnum:] 字母和数字 [0-9] [a-z] [0-9] [a-z]
  • [:alpha:] 代表任何英文大小写字符,亦即 [A-Z], [a-z]
  • [:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]
  • [:upper:] 大写字母 [A-Z]
  • [[:blank:]] 空白字符(空格和制表符)
  • [:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广
  • [:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
  • [:digit:] 十进制数字
  • [:xdigit:]十六进制数字
  • [:graph:] 可打印的非空白字符
  • [:print:] 可打印字符
  • [:punct:] 标点符号
  • \w #匹配单词构成部分,等价于[_[:alnum:]]
  • \W #匹配非单词构成部分,等价于[^_[:alnum:]]
  • \S #匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
  • \s #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

^匹配开头,$匹配结尾

image.png

. 和 *

image.png

[list]

^在括号内表示取反

image.png

扩展正则表达式元字符