正则表达式


一正则表达式

用来检索·替换那些符合某个模式(规则)的文本。


二。特点

1 灵活性。逻辑性和功能性非常强

2可以迅速用极简的方式达到字符串的复杂控制


三实例(Extend规范)

qq 邮箱:cat file | grep -E --color ‘^1[0-9]{5,12}qq.com$'

ip地址 cat file | grep -E --color '^[1-2][0-9]{0,2}(.[0-9]{1,3}){3}$'

网易邮箱cat file | grep -E --color '^[a-zA-Z1-9_]{1,}@163.com$'


四。标准正则(Basic)与扩展正则(Expend)

1,对于?+(){} | 在扩展正则中是特殊符号,在标准正则中作为一般字符,要表示特殊含义需要加\

2,如果使用grep(非egrep)且不用-E选项,则编写正则表达式时遵守Basic准则;

3,sed流式编辑器中遵守Basic规范;


五。grep选项与正则表达式的配合实例;

-i:不区分大小写;

[lianjiao@localhost 6_29_Regular]$ echo "HELLO WORD" | grep -i --color  "hello"
HELLO WORD

-e:进行多项查找:

[lianjiao@localhost 6_29_Regular]$ echo "register people" | grep --color -e "re" -e "pe"
register people


-n:列出行号:

[lianjiao@localhost 7_3_sed]$ cat file | grep -E -n --color 'p'  
1:productA 50
2:productB 70
3:productC 30
4:productD 80
5:productE 50
6:productF 50

-o:只列出匹配的字符(注意一行中有多个匹配字符就会展开)

[lianjiao@localhost 7_3_sed]$ cat file | grep -E -o --color 'p'  
p
p
p
p
p
p


-c:统计文件或者文本中包含匹配字符串的行数;

[lianjiao@localhost 7_3_sed]$ cat file | grep -E -c --color 'p'  
6

-1:搜索多个文件并查找匹配文件在哪个文件中

[lianjiao@localhost 7_3_sed]$ grep -E -1 --color 'p' file1 file  
file1:ppp
file1-ccc
file1-ddd
file1:ppgdghjs
--
file:productA 50
file:productB 70
file:productC 30
file:productD 80
file:productE 50
file:productF 50

-q:grep静默输出

grep -q "test" file


显示匹配某个结果之后的n行 ---  -A n;

显示匹配某个结果之前的n行 ---  -B n;

显示匹配某个结果前3行和后3行 ---  -C n;

[lianjiao@localhost 7_3_sed]$ cat file | grep -E  -2  --color 'productC'    
productA 50
productB 70
productC 30
productD 80
productE 50
[lianjiao@localhost 7_3_sed]$ cat file | grep -E  -A 2  --color 'productC'    
productC 30
productD 80
productE 50
[lianjiao@localhost 7_3_sed]$ cat file | grep -E  -B 2  --color 'productC'    
productA 50
productB 70
productC 30
[lianjiao@localhost 7_3_sed]$ cat file | grep -E  -C 2  --color 'productC'    
productA 50
productB 70
productC 30
productD 80
productE 50




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值