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解释得. ...
随机推荐
- python笔记三(list、tuple)
一.list list的增删改查 #增, classmates.append("nadech") #在末尾追加一个元素 classmates.insert(1,"agui ...
- 使用python scipy.optimize linprog和lingo线性规划求解最大值,最小值(运筹学学习笔记)
1.线性规划模型: 2.使用python scipy.optimize linprog求解模型最优解: 在这里我们用到scipy中的linprog进行求解,linprog的用法见https://doc ...
- 检测linux vps是xen openvz还是kvm的方法
很多时候不知道自己买的vps是那种虚拟化技术,怕给商家忽悠了,下面给大家介绍下怎么简单的判断自己vps的虚拟化技术. 1.通过系统上的相关目录或文件判断 ll /proc/ ps: /proc目录 ...
- ACM Misha and Changing Handles
Misha hacked the Codeforces site. Then he decided to let all the users change their handles. A user ...
- Mac入门——快捷键
快捷键: 截图 Shift+Command+3 截取全屏幕至桌面 Shift+Command+4 截取部分屏幕至桌面 Shift+Command+4+空格 截取窗口或原件至桌面 Shift+ ...
- RxJava(10-操作符原理&自定义操作符)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51791120 本文出自:[openXu的博客] 目录: 自定义创建操作符 数据序列操作符li ...
- property干嘛的
>>> import datetime >>> class c(): @property def noww(self): return datetime.datet ...
- 获取客户信息SQL
/*取客户信息SQL*/ --客户信息 SELECT hou.name 业务实体, hca.account_number 客户编号, hp.party_name 客户名称, arp_addr_pkg. ...
- Android更新UI的几种方法
在Android开发过程中,常需要更新界面的UI.比如网络请求操作.一些耗时操作都不能放在UI线程中运行的,需要放在子线程,而子线程又不能更新UI界面,这是我们需要引入一个Handler,消息处理机制 ...
- VS2008界面语言设置
在卸载某个软件的时候,不知道什么原因导致vs2008的界面变成中文的了,但是菜单还是英文的,很不美观. 几经查找,最后可以在如下的地方设置界面语言 Tools -> Options 如果设置成 ...