目录标题
正则表达式
linux shell以一串字符作为表达式向系统传达意思,元字符是用来阐释字符表达意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容,转换以及各中操作信息进行描述,正则表达式是由一串字符和元字符构成的字符串,正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。
基本的正则表达式元组副集合及意义
符号 | 意义 |
---|---|
* | 0个或多个在*字符之前的那个普通字符 |
. | 匹配任意字符 |
^ | 匹配行首,或后面字符串的非 |
$ | 匹配行尾 |
[] | 匹配字符集合 |
\ | 转义符,屏蔽一个元字符的特殊意义 |
<> | 精确匹配符号 |
{n} | 匹配前面字符出现n次 |
{n,} | 匹配前面字符至少出现n次 |
{n,m} | 匹配前面字符出现n~m次 |
- “*”符号
符号用于匹配前面一个普通字符的0次或多次重复,如: helo hello hellllo都可以由helo来匹配。 - “.”符号
.用于匹配任意一个字符,如…73.可以匹配abc73y,zjy73i,并且“.”符号可以匹配一个空格,x b73e - “^”字符
用于匹配行首,表示行首的字符是后面的那个字符。如:cloud匹配以cloud开头它的行;^…86*表示行首的三个字符为任意字符,第4~6个字符为x86,第7个字符开始可以重复匹配6,匹配以abcx86开始字符行。 - “$”符号
$符号匹配行尾,$
符号放在匹配字符之后,与“^”符号的功能和作用都相反。如:micky$
表示匹配micky结尾的所有行,匹配所有空行的表达式为^$
- “[]”符号
[]匹配字符集合,该符号支持穷举方法列出字符集合的所有元素,也支持使用“-”符号表示字符集合范围,表明字符集合范围从“-”左边字符开始,到“-”右边字符结束。如果要匹配任意一个数字,可以使用两种方法。例如:[0-9]或[0123456789],注意[b-d]中的表示取反的符号 - “\”符号
“\”符号是转义符,用于屏蔽一个元字符的特殊意义,即以字面含义来解释“\”符号后面的元字符。如:. - “<>”符号
如:<the>表示精确匹配the这个单词,而不匹配包含the字符的单词,them、there等都不会匹配。 - “{}”符号
“{}”符号与“”符号类似,都表示前一个字符的重复,但是,“”符号表示重复0次或任意多次,而“{}”符号可以指定重复次数,“{}”系列符号包括三种形式。
{n}表示匹配前面字符出现n次
{n,}表示匹配前面字符至少出现n次
{n,m}表示匹配前面字符出现n~m次