Shell三剑客:正则表达式(元字符)

2023-12-14 10:52

本文主要是介绍Shell三剑客:正则表达式(元字符),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、定义:元字符字符是这样一类字符,它们表达的是不同字面本身的含义

二、分类:

        1、基本正则表达式元字符

#    ^ 行首定位
[root@localhost ~]# grep root  /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash#    $ 行尾定位
[root@localhost ~]# grep love$ 1.txt 
love#    . 匹配任意单个字符
[root@localhost ~]# grep a.c 1.txt 
abc
adc#    * 匹配前导符0次到多次
[root@localhost ~]# grep "abcde*" 1.txt 
abcd
abcde
abcdef
abcdefj#    .* 任意多个字符
[root@localhost ~]# grep ".*" 1.txt 
qian
yoa
huang
kai
kong#    [] 匹配指定范围内的一个字符
[root@localhost ~]# grep "[lL]ove" 1.txt 
love
love
Love#    [-] 匹配指定范围内的一个字符,连续的范围[root@localhost ~]# grep "[a-z]ove" 1.txt 
love
love#    [^] 匹配不在指定组内的字符
[root@localhost ~]# grep "[^lL]ove" 1.txt 
1ove
|ove#    \ 用来转义元字符('' "" \),脱意符
[root@localhost ~]# grep "l\.ve" 1.txt 
l.ve#    \< 词首定位符
[root@localhost ~]# grep "\<love" 1.txt 
love
love#    \> 词尾定位符[root@localhost ~]# grep "love\>" 1.txt 
love
love#    () 匹配稍后使用的字符的标签
:1,2 s/(.*\)/#\1/      #加注释#    x\{m\} 字符x重复出现m次
[root@localhost ~]# grep "o\{3\}" 1.txt 
|oooove#    x\{m,\} 字符x重复出现m次以上
[root@localhost ~]# grep "o\{3,\}" 1.txt 
|oooove
looove
loooooooove#    x\{m,n\} 字符x重复出现m到n次
[root@localhost ~]# grep "o\{3,4\}" 1.txt 
|oooove
looove
loooooooove

 

 

 

 

 

        2、扩展正则表达式元字符

#    + 匹配1-n个前导字符
[root@localhost ~]# egrep lo+ve 1.txt 
love
love
looove
loooooooove#    ? 匹配0-1个前导字符
[root@localhost ~]# egrep lo?ve 1.txt 
love
love#    a | b 匹配a或b
[root@localhost ~]# egrep "o|v" 1.txt 
yoa
kong
duo
gou
love
love#    () 组字符
[root@localhost ~]# egrep "love(able|rs)" 1.txt 
loveable
lovers[root@localhost ~]# egrep "loveable|rs" 1.txt 
loveable
lovers

 

 

 

这篇关于Shell三剑客:正则表达式(元字符)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492237

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则