linux学习:正则表达式

正则表达式

正则表达式的作用:方便我们在文件中快速查找/过滤到内容
正则表达式分类:

  1. 基础正则 (Basic RE BRE)
  2. 扩展正则(Extended RE ERE)

通配符与正则的区别

  • 通配符:方便我们进行查找文件 (Linux下大部分命令支持)
  • 正则:方便我们进行查找/过滤文件里的内容 (Linux三剑客,开发语言)

基础正则

尖角符号^ :以什么开头的行

####查找以I开头的行
[root@yiqilang ~]# grep '^I' /oldboy/oldboy.txt 
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!

美元符号$:以什么结尾的行

####查找以m结尾的行
[root@yiqilang ~]# grep 'm$' /oldboy/oldboy.txt 
my blog is http://oldboy.blog.51cto.com
our size is$ http://blog.oldboyedu.com
  • 尖角+美元符号^$: 空行,这一行什么都没有
####查找文件的空行
[root@yiqilang ~]# grep '^$' /oldboy/oldboy.txt -n
3:

为了看起来直观,使用了参数-n,显示行号
不过^$多用来排除空行的

点符号.:任意一个字符(单个)
在这里插入图片描述

查找m后面任意一个字符,空格也算一个字符

星号*:前一个字符连续出现0次或多次
在这里插入图片描述

点加星号.*:所有任意字符
过滤以I开头,后面是所有任意字符
在这里插入图片描述

撬棍符号\:转义符号或去掉符号的原有特殊含义
转义字符:\n=回车键 \t=按下tab键
在这里插入图片描述

echo -e 让echo命令支持转义字符

中括号[]:相当于是一个字符(每次匹配1个字符)
在这里插入图片描述

相当于查找u或r的行,是每次单个匹配

[^]:取反/排除
在这里插入图片描述

相当于排除abcd字符,过滤出不包含abcd字符的内容

扩展正则

grep命令要使用扩展正则需要使用参数:-E或直接使用egrep

加号+:前一个字符连续出现1次或多次
在这里插入图片描述

第一条命令是4连续出现1次或多次
第二条命令是4后面加号前面的4连续出现1次或多次,所以第二条命令不会过滤单个4开头的内容

+[]通常一起使用
在这里插入图片描述

匹配4或4连续出现1次或多次

管道|:或者(在正则中表示)
在这里插入图片描述

相当于过滤出4或者a 字符

小括号():被括起来的内容相当于一个整体
   反向引用/后向引用
   
整体标记

相当于过滤包含oldboy或oldbey的字符串

花括号{}:连续出现指定次数
0{n,m} n表示最少连续匹配多少次 m表示最多连续匹配多少次.
在这里插入图片描述
{n,} n表示至少连续匹配n次,至多没有限制
在这里插入图片描述
{n} n表示指定匹配
在这里插入图片描述

问号?:前一个字符出现0次或1次
在这里插入图片描述

?前面一个字符出现0次或者1次.
相当于匹配8这个符号出现0次或1次,单个匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值