正则表达式

正则表达式的使用
一、概念
用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
简单来说,正则表达式是用特地的字符检索文件中的字符在这里插入图片描述
在正则表达式中,我们把用于匹配的特殊符号又称作元字符。在shell中,元字 符又分为基础元字符(BRE)和扩展元字符(ERE)。
基础元字符
元字符 作 用
*匹配前面的字符或字表达0次或任意多次
.配除换行符和回车符(“\n”和"\r")外的任意一个字符。
.*表示匹配任意长度字符串
^匹配行首。例如,hello 会匹配以 hello 开头的行。
匹 配 行 尾 。 例 如 , h e l l o 匹配行尾。例如,hello hello 会匹配以 hello 结尾的行
^$匹配空行
[]配中括号中指定的任意一个字符,而且只匹配一个字符。例如[aoeiu]匹配任意一个元音字母, [0-9] 匹配任意一位数字
[^]匹配除括号中的字符以为的字符,取反的意思
\转义符
\ { n \ }表示前面的字符出现了n次,重复前面的字符显示
\ { n ,\ }表示前面的字符至少出现了n次,重复前面的字符显示
\ {n,m \ } 表示其前面的字符至少出现 n 次,最多出现 m 次
\ < \ >牟定

扩展元字符
+匹配前面的一个字符或子表达式1次或任意多次。
?匹配前面的一个字符或子表达式零次或一次。例如:如 “colou?r” 可以匹配 “colour” 或 “color
|表示或
()将括号内容看做整体

举例: 1、"":前一个字符匹配0次或任意多次
注意,"
“和通配符中的”"含义不同,它代表前一个字符重复 0 次或任意多次。比如,"a"并不是匹配"a"后面的任意字符,而是可以匹配所有内容,包括空白行。我们试试:在这里插入图片描述
显示sshd_config文件中有效的配置项

egrep -v “#|KaTeX parse error: Expected group after '^' at position 40: …grep -E -v "^̲#|^” /etc/ssh/sshd_config

过滤IP地址
IP地址从0-255之间,要把0-255拆分成0-99,100-199,200-249,250-255,然后在分别过滤出4段就出来了。正则表达式书写如下所示:
egrep '<(25[0-5]|[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})(.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})){3}>'路径
在这里插入图片描述

过滤手机号
egrep 1[35-9][0-9]{9} l路径
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值