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解释得. ...
随机推荐
- Mac下配置远程Linux 服务器SSH密钥认证自动登录
1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...
- Android 学习笔记一 自定义按钮背景图
入门学到的一些组件都是比较规矩的,但在实际应用中,我们需要更多特色的组件,例如一个简单的Button,所以我们必须要自定义它的属性. 遇到的问题:用两张图片来代替按钮,分别表示点击前后 解决方法:用I ...
- ubuntu ssh 防止登陆断开
client 端: echo -e '\nServerAliveInterval 30' >> ~/.ssh/ssh_config server 端: echo -e '\nClientA ...
- linux内存管理初始化
内存管理子系统是linux内核最核心最重要的一部分,内核的其他部分都需要在内存管理子系统的基础上运行.而对其初始化是了解整个内存管理子系统的基础.对相关数据结构的初始化是从全局启动例程start_ke ...
- linux:关于Linux系统中 CPU Memory IO Network的性能监测
我们知道:系统优化是一项复杂.繁琐.长期的工作.通常监测的子系统有以下这些:CPUMemoryIO Network 下面是常用的监测工具 Linux 系统包括很多子系统(包括刚刚介绍的CPU,Memo ...
- Xcode 8新功能介绍
概述 Xcode 8正式版在9月13日已经推送给开发者下载,下载之后就出现了很多编译错误,之前的插件也不能用了,但是发现Xcode8把好多不错的插件功能整合到自身了,感觉这点也挺不错. 结合自己遇到的 ...
- Python 妙用heapq
小顶堆求TopK大 大顶堆求BtmK小 题外话 Python有一个内置的模块,heapq标准的封装了最小堆的算法实现.下面看两个不错的应用. 小顶堆(求TopK大) 话说需求是这样的: 定长的序列,求 ...
- WmS详解(一)之token到底是什么?基于Android7.0源码
做Android有些年头了,Framework层三大核心View系统,WmS.AmS最近在研究中,这三大块,每一块都够写一个小册子来介绍,其中View系统的介绍,我之前有一个系列的博客(不过由于时间原 ...
- 无需密码通过scp命令+key的方式实现文件传输
如果觉得scp每次都要输入密码很麻烦, 那么这是解决方案.假设你平时在windows上开发,用户名是xiang, 你有一台Ubuntu服务器wdksw.com, 用户名是root.现在你准备上传一些文 ...
- paypal的IPN机制
paypal对接时发现有这么一个机制,看起来还不错,起到了防止篡改欺诈行为,保证了通信的安全性,但会增加几次通信.