大家好,我是孤云暮雨,今天给大家带来的是,Linux正则表达式的元字符,这是一个速查表,当你用shell编程要匹配某一个或一组字符却忘记正则表达式的元字符的时候,可以在本篇博客上查找


基本正则表达式元字符

匹配模式

字符

含义

字符匹配

.

匹配任意单个字符


[]

匹配指定范围内的任意单个字符


[^]

匹配指定范围外的任意单个字符


POSIX字符




[[:digit:]]

只匹配数字


[[:lower:]]

匹配任意小写字母


[[:upper:]]

匹配任意大写字母


[[:alpha:]]

匹配任意字母,不区分大小写


[[:alnum:]]

匹配任意数字或字母,不区分大小写


[[:space:]]

匹配任意空白字符(包括空格)


[[:graph:]]

匹配除了空格以外的字符


[[:blank:]]

匹配空格或者制表符


[[:punct:]]

匹配所有标点符号


[[:print:]]

匹配任意可打印字符


[[:xdigit:]]

匹配所有的十六进制数


次数匹配

*

匹配前面的字符任意次(前面的字符可以出现也可以不出现)


.*

匹配任意长度的任意字符(用来匹配字符)


\?

匹配前面的字符零次或一次


\+

匹配前面的字符至少一次


\{匹配次数\}

指定匹配前面字符的次数


\{最少匹配次数,\}

指定匹配前面的字符至少的次数,多则不限


\{0,最多匹配次数\}

指定匹配前面的字符最多次数,也可没有


\{最少匹配次数,最多匹配次数\}

指定匹配前面的的字符最少次数和最多次数


锚定

^

行首锚定,写在模式的最左侧;此字符后的任意内容必须出现在行首


$

行尾锚定,写在模式的最右侧;此字符前的任意内容必须出现在行尾


\<\b

词首锚定,用于单词模式的左侧;其后面的任意字符必须作为单词的首部出现


\>\b

词尾锚定,用于单词模式的右侧;其前面的任意字符必须作为单词的尾部出现


\<WORD\>

匹配整个单词


模式匹配

^PATTERNS

用于模式匹配整行


^$

匹配空行


^[[:space:]]*$

匹配用空格隔开的


分组

\(\)

将一个或多个字符捆绑在一起,当做一个整体进行处理

分组括号中的模式匹配到的内容会被正则表达式引擎记录与内部的变量中,这些变量的命名方式为:\1,\2,\3...


后向引用


引用前面的分组括号中的模式所匹配到的字符,而非模式本身;被前面括号括起来的内容,后面可以使用一个字符将其引用


\1

引用第一个左括号以及与之对应的右括号所包括的所有内容


或者

\|


本篇博客结束了,更多技术博客请访问我的blog:http://zhangdaifu.blog.51cto.com

 

 

参考资料:https://wenku.baidu.com/view/6194c12fcfc789eb172dc89f