阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

linux基础教程之正则表达式小白读本

391次阅读
没有评论

共计 1380 个字符,预计需要花费 4 分钟才能阅读完成。

概念

正则表达式是对字符串操作的一种逻辑表达方式,很多情况下我们需要在茫众多的文件中找到我们需要的文件时,就需要用到正则表达式了

正则表达式就如同一个过滤器,能够筛选出希望得到的字符串。它可以检索、替换符合我们自己规定格式的所有文本。

  • 正则表达式分两类
    • 基本正则表达式
    • 扩展正则表达式

正则表达式的用法和选项

在 Linux 中,正则表达式通常会配合文本过滤工具 grep 使用。

  • grep 的功能强大,且简单粗暴。

linux 基础教程之正则表达式小白读本

linux 基础教程之正则表达式小白读本

以 /etc 目录为例

我们用 grep 来筛选一下其中含有”li”的文件

 

linux 基础教程之正则表达式小白读本

这是利用 grep 在 /etc 中对字母”li”进行筛选

如果我们只想要以”li”为首字母的文件要怎么做呢?
这就需要用到正则表达式了

linux 基础教程之正则表达式小白读本

可以看到依靠正则表达式能很轻松的达到我们想要的结果。

正则表达式还有更多更强大的功能,让我们来了解一下吧。

  • 正则表达式
    正则表达式的元字符分类:匹配字符、匹配字数、位置锚定、分组

      • 字符匹配:
        匹配任意单个字符
        []              匹配指定范围内的任意单个字符
        [^]             匹配指定范围外的任意单个字符
        [[:alnum:]]     字母和数字
        [[:alpha:]]     代表任何英文大小写字符,亦即 A-Z, a-z
        [[:lower:]]     小写字母 
        [[:upper:]]     大写字母
        [[:blank:]]     空白字符(空格和制表符)[[:digit:]]     十进制数字
        [[:xdigit:]]    十六进制数字
        [[:graph:]]     可打印的非空白字符
        [[:print:]]     可打印字符
        [[:punct:]]     标点符号

    linux 基础教程之正则表达式小白读本

    linux 基础教程之正则表达式小白读本

     

      • 匹配字数(””为转译符,防止系统将某些字符当命令处理)
        *      匹配前面的字符任意次,包括 0 次
        
        +      匹配前面的字符 1 次以上,不包括 0 次
        
        *?      匹配前面任意次,但尽可能少重复
        
        .*      任意长度的任意字符
        
        ?      匹配其前面的字符 0 或 1 次
        
        +      匹配其前面的字符至少 1 次
        
        {n}   匹配前面的字符 n 次
        
        {m,n} 匹配前面的字符至少 m 次,至多 n 次
        
        {,n}  匹配前面的字符至多 n 次
        
        {n,}  匹配前面的字符至少 n 次

    linux 基础教程之正则表达式小白读本

    linux 基础教程之正则表达式小白读本

      • 位置锚定:
        ^   行首锚定,用于模式的最左侧
        
        $   行尾锚定,用于模式的最右侧
        
        < 或 b     词首锚定,用于单词模式的左侧
        
        > 或 b     词尾锚定;用于单词模式的右侧
        
        <PATTERN> 匹配整个单词
      • 分组

        分组:()将一个或多个字符捆绑在一起,当作一个整体进行处理,如:(root)+

        后向引用:引用前面的分组括号中的模式所匹配字符,而非模式本身

        或者:|

  • 扩展正则表达式
    扩展正则表达式是正则表达式的优化版,元字符的表达更简洁,更方便。
    在 grep 中需要加选项“-e”来启用扩展正则表达式或 egrep(=grep -e)
    • 在字符匹配中的双中括号在扩展正则表达式中可以简写为一个
      [:alnum:]   字母和数字
      [:alpha:]   代表任何英文大小写字符,亦即 A-Z, a-z
      [:lower:]   小写字母 
      [:upper:]   大写字母
      [:blank:]   空白字符(空格和制表符)[:digit:]   十进制数字
      [:xdigit:]  十六进制数字
      [:graph:]   可打印的非空白字符
      [:print:]   可打印字符
      [:punct:]   标点符号
    • 大部分转译符()可以省略:
      *:匹配前面字符任意次
      
      ?:0 或 1 次
      
      +:1 次或多次
      
      {m}:匹配 m 次
      
      {m,n}:至少 m,至多 n 次
      
      a|b:a 或 b
      
      C|cat:C 或 cat(C|c)at:Cat 或 cat

总结

正则表达式的功能很强大且很好用,理解上也可能对于字符表达的含义会有些混乱需要多用多记才能熟练掌握。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计1380字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7802420
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...