加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell 正则表达式

发布时间:2020-12-15 16:52:06 所属栏目:安全 来源:网络整理
导读:基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除换行符以外的任意一个字符 ^ 匹配行首。取反 $ 匹配行尾 [] 匹配中括号中制定的任意一个字符。例如:[0-9]匹配任意一个数字。[a-z]匹配任意一个小写字母 [^] 匹配除中括号字符以外的任意
  1. 基础正则表达式

    元字符 作用
    * 前一个字符匹配0次或任意多次
    . 匹配除换行符以外的任意一个字符
    ^ 匹配行首。取反
    $ 匹配行尾
    [] 匹配中括号中制定的任意一个字符。例如:[0-9]匹配任意一个数字。[a-z]匹配任意一个小写字母
    [^] 匹配除中括号字符以外的任意一个字符。例如:[^a-z]匹配任意一位非小写字母
    转义符。例如:grep ".$" test.txt 匹配以.结尾的行
    {n} 表示其前面的字符恰好出现n次。例如:[0-9]{4}匹配4位的数字。1[3-8][0-9]{9}匹配手机号码
    {n,} 表示其前面的字符出现不小于n次。例如:[0-9]{2,}匹配至少出现2位及以上的数字
    {n,m} 表示其前面的字符至少出现n次,最多出现m次。例如:[a-z]{4,6}匹配4位到6位的小写字母

  2. 例子

    grep "a*" test.txt 注意:它匹配出现0次或任意多次的a,会输出所有内容

    grep "aa*" test.txt 匹配至少包含一个a的行

    grep "s..d" text.txt 匹配在s和d之间有2个字符的行

    grep "s.*d"text.txt 匹配s和d之间有任意字符

    grep ".*" text.txt 匹配所有内容

    grep -n "^$" text.txt 匹配空行并输出行号

    grep "^[a-z]" 匹配以小写字母开头的行

    grep "^[^a-zA-Z]" 匹配不以字母开头的行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读