Linux扩展篇之Shell编程四(正则表达式入门)

正则表达式

  1. 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。
  2. 在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
  3. 在 Linux 中,grep, sed,awk 等文本处理工具都支持通过正则表达式进行模式匹配。

1. 常规匹配

一串不包含特殊字符的正则表达式匹配它自己,例如:

在这里插入图片描述

2. 常用特殊字符

2.1 特殊字符:^

^ 匹配一行的开头,例如:^a 会匹配出所有以 a 开头的行

在这里插入图片描述

2.2 特殊字符:$

$ 匹配一行的结束,例如:t$会匹配出所有以 t 结尾的行
在这里插入图片描述

思考:^$ 匹配什么?^kankan$呢?

答:^$匹配的是文本中所有的空行,^kankan$匹配的是以kankan开头和结尾的行,即该行只有kankan

在这里插入图片描述
答:^kankan$匹配的是以kankan开头和结尾的行,即该行只有kankan

修改test.txt文件

kankan   hahahaha kankan
kankan

在这里插入图片描述

2.3 特殊字符:.

.匹配一个任意的字符,例如
在这里插入图片描述

2.4 特殊字符:*

* 不单独使用,他和上一个字符连用,表示匹配上一个字符 0 次或多次,例如
在这里插入图片描述

2.5 字符区间:[ ]

[ ] 表示匹配某个范围内的一个字符,例如

[ ] # 表示匹配某个范围内的一个字符,例如 
[6,8] # 匹配 6 或者 8 
[0-9] # 匹配一个 0-9 的数字 
[0-9]* # 匹配任意长度的数字字符串 
[a-z] # 匹配一个 a-z 之间的字符 
[a-z]* # 匹配任意长度的字母字符串 
[a-c, e-f] # 匹配 a-c 或者 e-f 之间的任意字符 

在这里插入图片描述

2.6 特殊字符:\

\ 表示转义,并不会单独使用。

由于所有特殊字符都有其特定匹配模式,当我们想匹配某一特殊字符本身时,就会碰到困难。

此时我们就要 将转义字符和特殊字符连用,来表示特殊字符本身,记得加单引号。例如

在这里插入图片描述

3. 正则匹配手机号

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值