首页 > 其他分享 >正则表达式基础

正则表达式基础

时间:2022-10-17 23:13:30浏览次数:48  
标签:字符 匹配 正则表达式 任意 基础 zA Z0

正则表达式

定义

  • 定义了用来过滤数据流中的文本的模式模板

正则表达式引擎

  • 作用

    • 一套底层软件,负责解析正则表达式模式并使用这些模式来进行文本匹配
  • 分类

    • 基础正则表达式(BRE)
    • 拓展正则表达式(ERE)

特殊字符(需转义)

  • .*^[]${ }+?|( )

基本正则表达式(结合sed)

  • 锚字符

    • 锁定在行首

      • ^
    • 锁定在行尾

      • $
    • 组合锚点(匹配空行)

      • ^$
    • 匹配除换行符之外的任意单个字符,包括空格

      • .
  • 字符组

    • 匹配包含在字符组内的字符

      • [... ]
  • 排除型字符组

    • 不匹配包含在字符组内的字符

      • [ ^ ...]
  • 特殊字符组

    • 匹配字母,不管大小写

      • [[:alpha:]]
    • 匹配0-9的数字

      • [[:digit:]]
    • 匹配空格和制表符

      • [[:blank:]]
    • 匹配任意0-9和a-z或A-Z的字符

      • [[:alnum:]]
    • ....

  • 区间

    • 连续

      • [a-zA-Z0-9]
    • 非连续

      • [a-ch-m]
  • 星号

    • 匹配出现了0次或多次的字符(*左侧的字符)

    • 组合字符

      • 匹配任意数量任意字符

        • .*

拓展正则表达式(结合gawk)

  • 问号

    • 匹配出现0次或1次的字符

      • ?
  • 加号

    • 匹配前面的字符可能出现1次或多次(至少一次)

      • +
  • 花括号(间隔)

    • 调整字符或字符集出现的次数

      • {m}
      • {m,n}
  • 管道符

    • 指定多个匹配模式

      • gawk '/A|B/{print $0}'
  • 分组

    • 分组后可当作一个普通字符

      • ( )

正则表达式实战

  • 匹配邮箱

    • ^([a-zA-Z0-9_-.+]+)@([a-zA-Z0-9_-.+]+).([a-zA-Z]{2,5})$

标签:字符,匹配,正则表达式,任意,基础,zA,Z0
From: https://www.cnblogs.com/tang-learning/p/16801086.html

相关文章

  • Linux基础_7_文本显示
    注:实质是针对标准输出文本的各种骚操作!简单查看注:初略加工后进行显示。cat-n文件名#查看文件内容并显示行号tac文件名#逆序查看more文件名less......
  • Shell图形化脚本基础
    脚本菜单创建菜单创建菜单函数functionmemu{clearechoecho-e"\t\tTHEFUNCTION\n"echo-e"\t1.FUNCTION1"......
  • 【linux】 第1回 linux运维基础
    目录1.运维的本质2.电脑与服务器2.1电脑的种类2.2服务器种类2.3服务器品牌2.4服务器尺寸2.5服务器内部组成3.磁盘阵列4.系统简介5.虚拟化6.虚拟机安装1.运维......
  • K8S Service基础详解
    ​一起学kubernetes系列(2)‌本篇文章我们介绍KubernetesService的各个类型,各类端口的含义,向外部暴露内部服务的方式。Service介绍Kubernetes中一个应用服务会有一个或多......
  • Linux基础_6_文本编辑
    vii#编辑ESC+:wq#保存退出ESC+ZZ#保存退出ESC+:q!#不保存退出shift+z+q#不保存退出......
  • Redis6.2基础概述
    Redis密码管理:所有库使用同一个密码进行统一管理.库的操作......
  • Linux基础_5_文件管理
    创建touch文件名#创建文件stat文件名#查看文件属性touch-am文件名#更改文件的访问时间及修改时间删除rm-rfs/*#递归强制删除s目录......
  • linux基础介绍
    运维的本质运维:运行维护应用程序岗位需求:自动化运维、DBA、docker+K8s...运维职责:1.尽可能保证应用程序24小时不间断运行2.尽可能保证数据的安全3.尽......
  • Linux基础_3_文件/文件夹权限管理
    注:权限遮罩码:控制用户创建文件和文件夹的默认安全设置,文件默认权限为666-umask的值,文件夹默认权限为777-umask的值。root默认0022,普通用户默认0002。文件的默认权限不......
  • 一篇搞定Python正则表达式
    ​1.正则表达式语法1.1字符与字符类1特殊字符:.^$?+*{}[]()|以上特殊字符要想使用字面值,必须使用进行转义2字符类  1.包......