zoukankan      html  css  js  c++  java
  • shell学习笔记之正则表达式

    一:知识背景

      sed -i ' /PermitRootLogin no/ s/^.*$/PermitRootLogin yes/g' /etc/ssh/sshd_config

      正则表达式的作用实在太强大了!!!!

      linux三剑客grep、awk、sed的强大是和正则分不开的,正则说到最基本的就是:从文件或者命令输出过滤文本。正则就是一些特殊字符串的集合

    二:语法

     .:匹配单字符ASCII码,可以是字母也可以是数字

      ..ab..,可以匹配 dead12、Adab69,.w..w..w.. 可以匹配dwrx..x..x

    ^: 允许在第一行开始匹配字符

     ^.01,匹配a01、001sdsadddsa等、^d匹配 d rwxrwxrwx

    $:在行尾匹配字符串

      $ 放在单词后面,test$匹配所有以test结尾的行

      ^$匹配所有空行

    * :使用*匹配 *号之前的单字符串的零个或者多个(区别于通配符中的*,通配符*是匹配所有字符串)(正则中如果想匹配到所有字符可以使用 .*)

      test* 可以匹配 test、testt、testtttttt2Adsw6

     :匹配一个特殊字符的含义

      假设匹配字符串中的".",但是"."在正则中表示匹配单个字符,所以进行匹配达到效果

      匹配“*.properties”结尾所有文件就使用*.propeerties,要不然就匹配到错误的结果

    [] :匹配一个范围或集合

      【0-9】:匹配0-9任意一个数字

      【A-Za-z】:表示大小写字母任意一个

      【ou】.*t就可以匹配到bought socket  也就是匹配o或者u开头,后面紧跟一个或多个任意字符并以t结尾的单词

      【a-zA-z】*就是匹配所有单词

      若[]中添加^表示不匹配,[^0-9]就是不匹配任一非数字字符

    {}:匹配模式结果出现的次数

      

      A{2}B:匹配出来就是AAB

      A{2,}B:匹配就是AAB AAAB AAAAAB等等,无法匹配AB

     A{3.5}:匹配就是AAAB AAAAB AAAAAB,其他无法匹配

      

      

  • 相关阅读:
    memcached 高级机制(一)
    memcached 简介
    Hibernate
    Linux中的搜索命令
    Linux的常用命令
    Git清除用户名和密码
    关于Git的简单使用
    文件的上传与下载(2)
    关于文件的上传和后台接收
    验证码的制作
  • 原文地址:https://www.cnblogs.com/yblecs/p/10229525.html
Copyright © 2011-2022 走看看