码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 正则表达式


    目录

    一、概述

    二、基本正则表达式

     1、元字符

     2、表示次数

     3、位置锚定

     4、分组

    三、拓展正则表达式

    四、grep命令

    五、正则表达式实验


    一、概述

        正则表达式由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符,使用正则表达式后面一般要跟上" "。

        正则表达式被很多命令程序和开发语言所广泛支持:vim, less,grep,sed,awk, nginx,mysql 等。

    二、基本正则表达式

     1、元字符

    元字符不表示本来的含义,在正则表达式中有特殊含义的字符,用来表示控制或统配的功能。

    .   匹配任意单个字符,可以是一个汉字 ,也可以是空格。例:grep  "r..t"  /etc/passwd

    [   ]   匹配指定范围内的任意单个字符。

    [ ^  ]   匹配指定范围外的任意单个字符,示例:[^zhou] 

     2、表示次数

    *   匹配*前面字符的任意次,包括0次到无数次

    .*   匹配任意长度的任意字符,不包括0次

    \?   匹配其前面的字符出现0次或1次,表示可有可无

    \+   匹配其前面的字符出现至少1次,即>=1

    \{n\} 匹配前面的字符n次

    \{n,m\}  匹配前面的字符至少n次,至多m次

    \{,m\}   匹配前面的字符至多m次,即<=m

    \{n,\}   匹配前面的字符至少n次,即>=n

     3、位置锚定

    ^   表示行首锚定,用于最左侧

    $   表示行尾锚定,用于最右侧

    ^PATTERN$   用于匹配整行,例:^bash$表示这一行只有bash才能匹配出,包含空格也不行

    ^$   表示空行

    ^[[:space:]]*$   表示空白行

    \< 或 \b   匹配字符串词首,用于单词的左侧

    \> 或 \b   匹配字符串词尾,用于单词的右侧

    \bPATTERN\b   匹配整个单词

     4、分组

    用()括号将多个字符捆绑在一起,当作一个整体处理,如:(root)

    \| 表示或者

    三、拓展正则表达式

    使用grep 命令时,默认不支持拓展正则表达式。使用grep -E 或者 egrop 才能支持拓展,作用是去掉部分\。

    四、grep命令

     grep命令格式 :grep  [选项] ... 查找条件  目标文件

    选项:

    -m :匹配n行后停止

    -v :取反

    -i :忽略大小写

    -n :显示匹配的行号

    -c :只显示匹配的行数

    -o :只显示匹配内容

    -q :静默输出,不把匹配到的内容输出

    -A :after,显示匹配内容的后n行

    -B :before,显示匹配内容的前n行

    -C :context,显示匹配内容的前后n行

    -e  :实现多个选项的逻辑或 关系

    -w :匹配整个单词

    -f :匹配两个文件的相同部分,以第一个文件匹配第二个文件

    -r :递归,快速搜索目录

    五、正则表达式实验

    1、使用数组提取IP地址

    2、表示qq号

    3、表示邮箱

    4、表示手机号

  • 相关阅读:
    Python面向对象相关总结
    NCCL后端
    gorm 修改事务维度的隔离级别
    WPF项目开发-按钮的测试项目和业务项目场景用法对比和区别
    Win10安装DBeaver连接MySQL8、导入和导出数据库详细教程
    Android录制音频并使用ijkplayer播放
    海智算法训练营第三十一天 | 第八章 贪心算法 part02 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II
    【Redis】实战篇:商户查询缓存(缓存穿透、缓存雪崩、缓存击穿问题)
    如何使用SHC对Shell脚本进行封装和源码隐藏
    window文件夹下python脚本实现批量删除无法预览的图片
  • 原文地址:https://blog.csdn.net/lcy913/article/details/134651380
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号