| : 匹配|符号前或后的正则表达式
( ) : 匹配方括号括起来的正则表达式群
(4). 方括号([])表达式
4.1.字符集[::]
标识字符集,有如下几种:
[::alnum]
: 数字字符
[:digit:]
: 数字字符
[:punct:]
: 标点符号字符
[:alpha:]
: 字母字符
[:graph:]
: 非空格字符
[:space:]
: 空格字符
[:blank:]
: 空格与定位字符
[:lower:]
: 小写字母字符
[:upper:]
: 大写字母字符
[:cntrl:]
: 控制字符
[:print:]
: 可显示的字符
[:xdigit:]
: 16进制数字
4.2.排序符号
指将多个字符视为一个符号,如[.ch.]即将ch视为一个符号
4.3.等价字符
认为多个字符相等,如[=e=]在法文的locale里 , 可匹配于多种与e相似的字符,此处不再列出 。
说明:这三种构造除其自身的方括号之外,还必须使用额外的方括号括起来 。
例 : [[:alpha:]!] : 匹配任一英文字母或感叹号 。
[[.ch.] : 匹配ch排序元素,而不匹配单独的字母c或h.
3.简单正规表达式匹配案例
china:匹配此行中任意位置有china字符的行
^china : 匹配此以china开关的行
china$ : 匹配以china结尾的行
^china$ : 匹配仅有china五个字符的行
[Cc]hina : 匹配含有China或china的行
Ch.na : 匹配包含Ch两字母并且其后紧跟一个任意字符之后又有na两个字符的行
Ch.*na : 匹配一行中含Ch字符,并且其后跟0个或者多个字符 , 再继续跟na两字符
二.实例
如下通过常用实例来学习BRE和ERE匹配,源文件url.txt内容如下:
1.url匹配
匹配以http或者https开头,并且其后为:并且含有.的串
BRE匹配:
grep '^https\{0,1\}.*\..*' url.txt
ERE匹配:
grep -E '^https?.*\..*' url.txt
匹配结果如下:
2.Email匹配
示例文件内容为:
hfutwyy@qq.comaaaa@aaa@.comaaa@gmail.com
@@baidu.com
匹配以字母数字或者下划线开头的多个字符 , 其后有一个@之后有多个字母数字或者下划线,其中有一个.号
grep '^[[:alpha:][:digit:]_]*@[[:alpha:][:digit:]]*\..*' email.txt
匹配结果:
hfutwyy@qq.comaaa@.comaaa@gmail.com
先到这里,后续再接着写 。
linux命令匹配的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 匹配关键字、linux命令匹配的信息别忘了在本站进行查找喔 。
- 如何使用cmd命令行提示符登录mysql服务器 cmd中登陆mysql
- redis缓存 redis缓冲常用命令
- mysql中删除记录的命令 mysql删除中继日志
- redis linux安装包 linux下redis包
- redis map底层实现 redis多个map命令
- mysql 授权命令 mysql限制授权
- mongodb常用命令 mongodb句柄数
- mysql 快速查询 mysql快速匹配
- redis命令查看版本 怎样查看redis版本
- 查看redis所有数据 redis查看数据的命令
