文本三剑客--前戏

正则表达式

基础正则表达式:BRE(basic regular express)

扩展正则表达式:ERE(extend regular express),扩展的表达式有+、?、|和() 

 

符号 描述    范例  
. 出\n匹配任意一个单字符

[root@localhost ~]# echo -e "123444\nxf"|grep "12."
123444

^ 匹配字符串开头的

[root@localhost ~]# echo -e "123444\nxf"|grep "^12"
123444
[root@localhost ~]# echo -e "123444\nxf"|grep "^x"
xf

$ 匹配前面字符串结尾

[root@localhost ~]# echo -e "123444\nxf"|grep "f$"
xf
[root@localhost ~]# echo -e "123444\nxf"|grep "44$"
123444

* 匹配前面字符0个或多个

[root@localhost ~]# echo -e "xo\nxooo\nxoghjk"|grep "o*"
xo
xooo
xoghjk

+ 匹配前面一个或多个

[root@localhost ~]# echo -e "abc\nabbbbcc\nadd" |grep -E 'ab+'
abc
abbbbcc

匹配前字符0或1个

[root@localhost ~]# echo -e "ac\nabbbc\naddd"|grep -E "a?c"
ac
abbbc

[] 匹配任意一个字符

[root@localhost ~]# echo -e "ac\nad\ndb"|grep "[ac]"
ac
ad

[.-.] 匹配括号中任意字符 [0-9]  [a-z] 
[^] 匹配除括号内的字符

[root@localhost ~]# echo -e "ac\nad\ndb"|grep "[^ac]"
ad
db

{n} 至少匹配n次前面的字符

[root@localhost ~]# echo -e "a\nabc\nc" |grep -E '[a-z]{3,}'
abc

{n,m} 匹配n次-m次

[root@localhost ~]# echo -e "a\nabc\ncd" |grep -E '[a-z]{1,3}'
a
abc
cd

 ()  单元或组合,就是一个整体  

[root@localhost ~]# echo "123abc" |grep -E -o '(abc)'
abc

 \< 以字符开始   

[root@localhost ~]# echo -e "1\n12\n123\n1234" |grep '\<123'
123
1234

 \>  以字符结束  

[root@localhost ~]# echo -e "1\n12\n123\n1234" |grep '4\>'
1234

 |  匹配两边的任意一个  

[root@localhost ~]# echo -e "123\nabc" |grep -o -E "(123|abc)"
123
abc

posted @ 2019-07-11 20:19  阳光下的小蚂蚱  阅读(221)  评论(0编辑  收藏  举报