zoukankan      html  css  js  c++  java
  • 正则表达式

    正则表达式

    1.正则表达式单字符

    单字符种类 描述 例子
    特定字符 某个具体的字符 ‘1’,a
    范围内字符 单个字符[] 数字字符:[0-9],[259]
    小写字符:[a-z]
    反向字符: [ ^0-9 ]
    任意字符 代表任何一个字符 '.'
    [root@localhost tmp]# grep '1' passwd.bak  #查找有'1' 的行
    [root@localhost tmp]# grep '[A-Z]' passwd.bak   #查找所有的大写字母
    [root@localhost tmp]# grep '[a-zA-Z]' passwd.bak   #查找所有的字母
    [root@localhost tmp]# grep '[,:_/]' passwd.bak     #查找特殊字符
    [root@localhost tmp]# grep '[^0-9]'  passwd.bak    #查找不包括数字的行
    [root@localhost tmp]# grep '.' passwd.bak         #查找.这个字符,转义了
    

    2:其它字符的表示

    边界字符:头尾字符:

    ^ : ^root ------以root开头

    $:false$ ------以false结尾

    ^$: 代表空行

    [root@localhost tmp]# grep '^root' passwd.bak
    [root@localhost tmp]# grep 'false$' passwd.bak
    

    3:正则表达式的其它字符

    *元字符:代表普通字符或者其它字符

    元字符 描述
    w 小写 匹配任何字类字符,包括下划线([A-Z a-z0-9])
    W 大写 匹配任何非字类字符,包括下划线([ ^A-Z a-z0-9])
     代表单词的分隔
    [root@localhost tmp]# grep 'x' passwd.bak     #会匹配x【密码】字段和单词中的x
    [root@localhost tmp]# grep 'x' passwd.bak      #把x当成一个单词,不会匹配单词中的x
    

    4:正则表达式的字符组合

    类型 表述 例子
    字符串 'root','1000','m..c','[ A-Z] [ a-z] ' ' [ 0-9 ] [ 0-9 ] '
    [root@localhost tmp]# grep '1000' passwd.bak 
    oracle:x:1000:1000:oracle:/home/oracle:/bin/bash
    [root@localhost tmp]# grep '[A-Z][a-z]'  passwd.bak  #匹配一个大写紧挨着一个小写---共2位字符
    [root@localhost tmp]# grep '[0-9][0-9]'  passwd.bak  #匹配紧挨着的2位数字---共2位并且贪婪匹配
    

    5:重复

    ?:0次或者1次匹配前面的字符或者子表达式

    +:1次或多次匹配前面的字符或者子表达式

    *:0次或多次匹配前面的字符或者子表达式

    [root@localhost tmp]# grep '(mail)?' passwd.bak    #注意?,+ 才是匹配重复
    

    {n,m}:重复特定次数

    ?:{0,1}

    +:{1,}

    *:{0,}

    [root@localhost tmp]# grep '[0-9]{2,3}'  passwd.bak    #:重复2到3次,除了()之外,其它都要转义{}
    

    6:任意字符串

    .* :代表任意字符串 eg: ^.* m.*c --------代表m开头c结尾,任意长度

    ​ m..c-----代表m开头c结尾,但只有4位长度


    7:逻辑的表示

    |:‘/bin(false|true)’

    常见匹配模式:

  • 相关阅读:
    Excel长数字防止转换为科学计数法
    SVN迁移部署
    且行且珍惜
    功能的权衡——推荐功能做不做?
    渗透小白如何学编程
    Metasploit log命令技巧
    Metasploit 使用msfconsole帮助功能技巧
    Metasploit resource命令技巧
    Metasploit makerc命令技巧
    Metasploit irb命令使用技巧
  • 原文地址:https://www.cnblogs.com/zhoujun007/p/11717144.html
Copyright © 2011-2022 走看看