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解释得. ...
随机推荐
- 克拉默法则(Cramer's Rule)的证明
克拉默法则: 先说一下为什么要写这个,作为一个大一新生,必须要学的就包括了线性代数,而且线性代数等数学知识对计算机专业也有很大帮助.但是在学习过程中遇到一个讲解的不清楚的知识点(Cramer's Ru ...
- Matlab中数据的存储方式
简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...
- Android中典型的ROOT原理(5)
ROOT的作用 Customization 用户的个人定制,如删除一些预安装,定制开机动画等. 特权操作 所有需要特权操作的基本都是要通过ROOT,这也是ROOT的初衷. ROOT的第一步:寻找漏洞并 ...
- Servlet再度学习
虽然Servlet已经使用很多了,但是一直都仅局限在其使用操作上. 最近有空想对它进行一个相对全面的了解. 下面是博主整理的一篇博文. 一.Servlet简介 Servlet(Server Apple ...
- Vc2015 utf8 格式出错
Vc2015 utf8 格式出错(金庆的专栏)用Vc2015新建一个项目,如下添加一行中文注释.然后将这个文件改为utf8无BOM格式,再转换行结束符为Unix格式.#include "st ...
- 对于给定的整数集合S,求出最大的d,使得a+b+c=d。
对于给定的整数集合S,求出最大的d,使得a+b+c=d.a,b,c,d互不相同,且都属于S.集合的元素个数小于等于2000个,元素的取值范围在[-2^28,2^28 - 1],假定可用内存空间为100 ...
- 给定一个实数数组,按序排列(从小到大),从数组从找出若干个数,使得这若干个数的和与M最为接近,描述一个算法,并给出算法的复杂度。
有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M. 需要选出若干个x,使这几个x的和与 M 最接近. 请描述实现算法,并指出算法复杂度. #define M 8 ...
- 多线程并发之java内存模型JMM
多线程概念的引入是人类又一次有效压寨计算机的体现,而且这也是非常有必要的,因为一般运算过程中涉及到数据的读取,例如从磁盘.其他系统.数据库等,CPU的运算速度与数据读取速度有一个严重的不平衡,期间如果 ...
- 没有文件扩展“.js”的脚本引擎问题解决
安装MinGW的时候提示没有文件扩展".js"的脚本引擎. 原因:系统安装Dreamwear.UltraEdit.EditPlus后修改了.js文件的默认打开方式.当想直接执行js ...
- Android的四个基本概念(线程通信和GLSurfaceView)
GLSurfaceView提供了下列特性: 1> 管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上. 2> 管理一个EGL disp ...