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

    1.正则表达式

    • 元字符(Metacharacters)

      • 定义

        描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述

      • 作用

        用来阐释字符表达式意义的字符

    • 正则表达式(RE (Regular Expression))

      • 定义

        由一串字符和元字符构成的字符串

      • 作用

        进行文本查询和字符串操作,它可以匹配文本的一个字符或字符集合

    • 基本的正则表达式元字符集合及其意义

      符号 意义
      * 0个或多个在*字符之前的那个普通字符
      . 匹配任意字符
      ^ 匹配行首,或后面字符的非
      $ 匹配行尾
      [] 匹配字符集合
      转义符,屏蔽一个元字符的特殊意义
      <> 精确匹配符号
      {n} 匹配前面字符出现n次
      {n,} 匹配前面字符至少出现n次
      {n,m} 匹配前面字符出现n~m次
      • 特殊用法

        • 匹配空行

          ^$ #该正则表达式既匹配行首,又匹配行尾,中间没有任何字符,因此为空行
          
        • “^”表示取反

          ""符号表示匹配行首,但是“”符号放到“[]”符号中就不再表示匹配行首了,而是表示取反符号

          [^b-d] # "^"表示取反
          

    2.正则表达式的扩展

    • 扩展的正则表达式元字符及其意义

      符号 意义
      ? 匹配0个或1个在其之前的那个普通字符
      + 匹配1个或多个在其之前的那个普通字符
      () 表示一个字符集合或用在expr中
      | 表示“或”,匹配一组可选的字符
      • 说明

        “()”符号通常与"|"符号结合使用,表示一组可选字符的集合

        re(a|e|o)d # 匹配read、reed、reod
        

    3.通配

    ​ bash shell可以使用正则表达式中的一些元字符实现通配(globbing)功能。

    ​ ?、*、[]、{}、^等这些元字符在通配中的意义与正则表达式中的意义不完全一致,*符号表示任意位的任意字符,?字符表示一个任意字符,^符号在通配中代表取反。

    ​ 内部变量GLOBIGNORE保存了通配时所忽略的文件名集合。

    ​ ?、*、[]、{}、^五个符号和GLOBIGNORE变量构成了shell通配的所有内容。

  • 相关阅读:
    让flask在出现语法错误时仍然自动重启
    ubuntu配置zsh和oh-my-zsh
    docker运行python3.6+flask小记
    vscode python3 配置生成任务
    从flask视角理解angular(四)Route
    从flask视角理解angular(三)ORM VS Service
    从flask视角理解angular(二)Blueprint VS Component
    从flask视角学习angular(一)整体对比
    Linux高级变量
    linux系统中查看日志及系统信息
  • 原文地址:https://www.cnblogs.com/nuochengze/p/14417897.html
Copyright © 2011-2022 走看看