Linux 正则表达式
Posted 嵌入式Linux中文站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 正则表达式相关的知识,希望对你有一定的参考价值。
嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题!
正则表达式可以用来处理大量的文件和字符串,运维工作中过滤日记简单高效,Linux最常应用正则表达式的命令有grep(egrep)、sed、awk。
正则表达式和文本通配符不同容易混淆。
字符匹配
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符,亦即A-Z, a-z
[:lower:] 小写字母 [:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:]水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] 十进制数字[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
匹配次数
* 匹配前面的字符任意次,包括0次,尽可能长的匹配
.*任意长度的任意字符
\?匹配其前面的字符0或1次
\+匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
位置锚定
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
\< 或\b词首锚定,用于单词模式的左侧
\> 或\b词尾锚定;用于单词模式的右侧
\<PATTERN\>匹配整个单词
验证手机号码是否符合规范(扩展表达式)
以上是关于Linux 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章