正则表达式实战小技巧,grep和sed

今日小练习

1.04101802001-04101802043正则表达式匹配
2.ipv4地址,邮箱地址,8位强密码,url正则表达式
3.sed命令使用:
  地址定界和编辑命令的使用,:
 #: d命令
    i \text命令
    c \text命令
 #,#: p命令
 #~#: s/pattern/string
 #,+N: s/pattern/string/g
 #,~N: d命令
 $:d命令
 /regexp/ : a \text
 #,/regexp/ : s/pattern/string/g
 /regexp/, /regexp/: s/pattern/string/g

使用正则表达式匹配 04101802001-04101802043

代码如下所示,找到数据中的规律,发现开头固定,所以使用^表示以041018020作为开头,再使用$为末尾,表示固定位数,中间的表示后两位的取值为00-43

#!/bin/bash
#########################
#File name:regexp_script_number.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-26 21:17:14
#Description:
#########################
echo $1 | grep -oP ^041018020\([0-3][0-9]\|4[0-3]\)$

结果如下:

只有当所输入的值在区间内时才会显示 

ipv4地址,邮箱地址,8位强密码,url正则表达式

ipv4地址

将每段ip分为0-9,10-99,100-199,200-249,250-255五个部分,前三段有.为一个整体进行重复,最后一段没有点,最后以$固定长度

echo $1 |egrep  "((1[0-9]{2}\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9])\.){3}((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9]))$"

结果如图

邮箱地址

将邮箱分为两部分,@之前的随机位和@后面的固定位,拿QQ邮箱为例,后面格式固定,则只需要匹配前方数字部分,QQ的号码五位开始,则前方数字最短匹配5位:

#!/bin/bash
#########################
#File name:regexp_script_mail.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-26 15:06:27
#Description:
#########################
echo $1 |grep -E "[[:digit:]]{5,}@qq\.com$"

结果如下:

8位强密码

表示匹配8位密码,包含数字和字母大小写和符号

        

url正则表达式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值