Shell 正则表达式总结及其含义举例
基本元字符集及其含义:
|
^ |
只匹配行首 |
|
$ |
只匹配行尾 |
|
* |
只一个单字符后紧跟*,匹配0个或多个此单字符 |
|
[ ] |
只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用 - 表示[ ]内字符序列范围,如用[1-5]代替[12345] |
|
\ |
只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中一些元字符有特殊含义。\可以使其失去应有意义 |
|
. |
只匹配任意单字符 |
|
pattern\{n\} |
只用来匹配前面pattern出现次数。n为次数 |
|
pattern\{n,\}m |
含义同上,但次数最少为n |
|
pattern\{n,m\} |
含义同上,但pattern出现次数在n与m之间 |
常用举例:
|
^ |
行首 |
|
$ |
行尾 |
|
^[the] |
以the开头行 |
|
[Ss]igna[lL] |
匹配单词signal、signaL、Signal、SignaL |
|
[Ss]igna[lL]\. |
同上,但加一句点 |
|
[mayMAY] |
包含may大写或小写字母的行 |
|
^USER$ |
只包含USER的行 |
|
[tty]$ |
以tty结尾的行 |
|
\. |
带句点的行 |
|
^d..x..x..x |
用户、用户组及其他用户组成员有可执行权限的目录 |
|
^[^l] |
排除关联目录的目录列表 |
|
[.*0] |
0之前或之后加任意字符 |
|
[000*] |
000或更多个 |
|
[iI] |
大写或小写I |
|
[iI][nN] |
大写或小写i或n |
|
[^$] |
空行 |
|
[^.*$] |
匹配行中任意字符串 |
|
^......$ |
包括6个字符的行 |
|
[a-zA-Z] |
任意单字符 |
|
[a-z][a-z]* |
至少一个小写字母 |
|
[^0-9\$] |
非数字或美元标识 |
|
[^0-0A-Za-z] |
非数字或字母 |
|
[123] |
1到3中一个数字 |
|
[Dd]evice |
单词device或Device |
|
De..ce |
前两个字母为De,后跟两个任意字符,最后为ce |
|
\^q |
以^q开始行 |
|
^.$ |
仅有一个字符的行 |
|
^\.[0-9][0-9] |
以一个句点和两个数字开始的行 |
|
'"Device"' |
单词device |
|
De[Vv]ice\. |
单词Device或device |
|
[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} |
日期格式dd-mm-yyyy |
|
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\} |
IP地址格式nnn.nnn.nnn.nnn |
|
[^.*$] |
匹配任意行 |
Shell 正则表达式总结及其含义举例的更多相关文章
- 我们一起来学Shell - 正则表达式
文章目录 什么是正则表达式 正则表达式元字符 正则表达式应用举例 POSIX 方括号表达式 POSIX 字符集列表: 我们一起来学Shell - 初识shell 我们一起来学Shell - shell ...
- linux shell 正则表达式(BREs,EREs,PREs)差异比较
linux shell 正则表达式(BREs,EREs,PREs)差异比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符 串的单个字符串.在很多文本编辑器或其他工具里 ...
- linux shell 正则表达式(BREs,EREs,PREs)的比较
原文 : linux shell 正则表达式(BREs,EREs,PREs)差异比较 在使用 linux shell的实用程序,如awk,grep,sed等,正则表达式必不可少,他们的区别是什么 ...
- 文本处理三剑客与shell正则表达式
文本处理三剑客 提到对于文本的处理上,除了vim这个强大的编辑器之外,还有使用命令的形式去处理你要处理的文本,而不需要手动打开文本再去编辑.这样做的好处是能够以shell命令的形式将编辑和处理文本的工 ...
- shell(shell函数、shell正则表达式)
本章内容 shell函数 shell正则表达式 1.shell函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. 格式: funname () { CMD #函数体 ...
- Shell 正则表达式详解
Shell 正则表达式 什么是正则表达式? 正则表达式在每种语言中都会有,功能就是匹配符合你预期要求的字符串. 为什么要学正则表达式? 在企业工作中,我们每天做的linux运维工作中,时刻都会面对大量 ...
- shell 正则表达式与文件名匹配
1) . : 匹配任意单ASCII 字符,可以为字母,或为数字. 2) 举例: ..XC..匹配deXC1t.23XCdf 等,.w..w..w.匹配rwxrw-rw- 行首以^匹配字符串或字符序列 ...
- [Shell]正则表达式与通配符
----------------------------------------------------------------------------------------- 正则表达式与通配符: ...
- Shell正则表达式和文本处理工具
作业一:整理正则表达式博客 一.什么是正则 正则就是用一些具有特殊含义的符号组合而成(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 通配符是由shell解释得. ...
随机推荐
- Django 跨域请求处理
参考https://blog.csdn.net/qq_27068845/article/details/73007155 http://blog.51cto.com/aaronsa/2071108 d ...
- 初识Spark2.0之Spark SQL
内存计算平台spark在今年6月份的时候正式发布了spark2.0,相比上一版本的spark1.6版本,在内存优化,数据组织,流计算等方面都做出了较大的改变,同时更加注重基于DataFrame数据组织 ...
- Swift下多个Storyboard的项目结构
我是个比较喜欢用storyboard和xib的人.我个人的习惯就是,能用storyboard的一定不用代码手工撸.当然自己业余个人写的项目,基本上一个storyboard就搞定了.但涉及到多人合作下时 ...
- linux中probe函数传递参数的寻找(下)
点击打开链接 linux中probe函数传递参数的寻找(下) 通过追寻driver的脚步,我们有了努力的方向:只有找到spi_bus_type的填充device即可,下面该从device去打通,当两个 ...
- SublimeText3解决中文乱码
1)安装Sublime Package Control. 在Sublime Text 3上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装Package ...
- Linux动态频率调节系统CPUFreq之三:governor
在上一篇文章中,介绍了cpufreq的core层,core提供了cpufreq系统的初始化,公共数据结构的建立以及对cpufreq中其它子部件提供注册功能.core的最核心功能是对policy的管理, ...
- 从Cell类型转变成数据型
我们有一个如下的cell数据 cdata = {'1' '11' '111' '1111' '11111'}; 现在要把他转变成double型的数组,很自然会想到的方法是cell2mat,可悲的是会遇 ...
- 下载Android源代码编译错误总结
错误1: prebuilts/sdk/api/18.txt:22055: error 9: Removed public method android.telephony.gsm.SmsMessage ...
- linux添加环境变量(path)
分为三步 1.sudo vim /etc/profile 2.export PATH="全路径:$PATH" 3.source /etc/profile 我的微信二维码如下,欢迎交 ...
- Dynamics CRM2016 站点地图Bug之KnowledgeArticle不显示
在CRM2016中对知识库功能进行了加强,新加入了KnowledgeArticle的实体,但在学习的过程中发现了微软的一个bug 下图是我在最新的2016online的版本上看到的service下的s ...