引言
正则表达式 Regex(Regular Expression)是描述或匹配某个句法规则的字符串,用于检索、替换那些匹配某个模式的文本。
一个正则表达式通常被称为一个模式。由表达式、量词、断言组成。
目录
表达式
表达式可以是以下项之一:
一般的字符,可匹配目标序列中相同的字符。
例如:a
只能匹配a
;abc
只能匹配abc
。通配符
.
,可匹配目标序列中除了换行符外的任何字符。
例如:a.c
可以匹配abc
、a c
、a.c
、a1c
等等。[expr]
形式的括号表达式,可以匹配目标序列中包含在表达式expr
定义集内的字符或者排序规则表达式;采用[^expr]
,可匹配目标序列中未包含在表达式expr定义集内的字符或排序规则表达式。
表达式expr
可以包含下列的任意组合:- 单个字符。例如:
[A]
匹配A
ch1-ch2
形式的字符域。例如[A-F]
匹配大写字母A到F中的任何一个字母,比如:匹配A
.[:name:]
形式的字符类。例如:[[:alpha:]]
匹配一个字母(不区分大小写)。
字符类名 说明 alnum 字母(不区分大小写)和数字 alpha 字母(不区分大小写) blank 空格或制表符 cntrl 文件格式转义字符 digit 数字 graph 字母(不区分大小写)、数字和英文标点 lower 小写字母 upper 大写字母 print 字母(不区分大小写)、数字、英文标点和空格 punct 英文标点 sapce 空格 xdigit 表示十六进制的字符(数字,a,b,c,d,e,f,A,B,C,D,E,F) d 与digit相同 s 与space相同 w 与alnum相同 - 单个字符。例如:
定位点。定位点
^
匹配目标序列的开头,$
可匹配目标序列的末尾。
定位点可匹配目标字符串中的位置,而不匹配字符。转义序列
文件格式转义。
\\
、\f
、\n
、\r
、\t
和\v
,他们分别匹配目标序列中的反斜杠、换页符、回车符、水平制表符合垂直制表符。<