linux内的正则表达式

POSIX标准将正则表达式分为两类
    >基本正则表达式
    >扩展正则表达式
    大部分linux应用和工具仅支持基本的正则表达式。

    ============基本的正则表达式元字符集合及其意义============
    *   匹配0个或多个
    .   匹配任意一个字符
    ^   匹配开头
    $  匹配结尾
    []  匹配字符集合
    \   转义字符
    \<\>    精确匹配符号
    \{n\}   匹配前面字符出现n次
    \{n,\}  匹配前面的字符出现至少n次
    \{n,m\} 匹配前面的字符n-m次
    ==========================================================

    匹配空行:^$
    \<\>表示精确匹配符号
        \<the\>表示匹配the这个单词,而不匹配包含the字符的单词,如then,them,there,another等

    awk,perl等linux工具还支持正则表扩展出来的字符
    =============扩展正则表达式===============================
    ?   匹配0个或1个在其之前的那个普通字符
    +   匹配1个或多个在其之前的那个普通字符
    ()  表示一个字符集或用在expr中
    |   表示'或',匹配一组可选的字符
    ==========================================================

    通配符
        bash shell本身不支持正则表达式,支持的是shell命令和工具
        shell支持通配符
    =============通配符=======================================
    *   任意位的任意字符
    ?   任意一个字符
    []  表示范围
    {}  一组表达式组合,这些表示是'或'的关系
    ^   表示取反

    例子:
        ls -l *.awk         以.awk结尾的文件
        ls -l 0?.pem            以0开头,后面跟一个字符,且后缀是.pem的文件
        ls -l [a-h]*.awk        以[a-h]开头的.awk文件
        ls -l [a-h]*.[^awk]*        以[a-h]开头,且后缀不是awk的文件
        ls -l {[a-h]*.awk,0?.pem}   以0开头,后面跟一个字符,且后缀是.pem的文件 或者 以[a-h]开头的.awk文件
    ==========================================================

    POSIX 
        为了保持不同国家的字符编码的一致性,POSIX(Portable Operating System Interface)增加了特殊的字符类,以[:classname]的格式给出,grep命令支持POSIX字符类。
    ==============POSIX=======================================
    类名          意义
    [:upper:]       [A-Z]
    [:lower:]       [a-z]
    [:digit:]       [0-9]
    [:alnum:]       [0-9a-zA-Z]
    [:space:]       空格或Tab
    [:alpha:]       [a-zA-Z]
    [:cntrl:]       ctrl键
    [:graph:]或[:print:] 表示ASCII码33-126之间的字符
    [:xdigit:]      十六进制数字[0-9a-fA-F]
    ==========================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值