【转】Linux正则表达式使用指南
正则表达式是一种符号表示法,用于识别文本模式。Linux处理正则表达式的主要程序是grep。grep搜索与正则表达式匹配的行,并将结果输送至标准输出。
1. grep匹配模式
grep按下述方式接受选项和参数(其中,regex表示正则表达式)
| 1 | grep [options] regex [files] |
其中options主要为下表:
| 选项 | 含义 | 功能描述 |
| -i | ignore case | 忽略大小写 |
| -v | invert match | 不匹配匹配的 |
| -l | file-with-match | 输出匹配的文件名 |
| -L | file-without-match | 输出不匹配的文件名 |
| -c | count | 输出匹配的数目(行数) |
| -n | number | 输出匹配行的同时在前面加上文件名及在文件名中的行数 |
| -h | no-filename | 抑制文件名的输出 |
举例说明
假设有三个文件del1、del2、del3三个文件的内容如下

例子

2. 特殊字符
| 符号 | 含义 | 举例 |
| ^ | 开始标记 | “^abc”满足的例子abc、abcd |
| ^ | 非(在[]内) | “[^abc]“满足的例子:ddd、mpd |
| $ | 结束标记 | ”abc$”满足的例子abc、mmabc |
| . | 任意字符 | “a.c”满足的例子abc、fapcc |
| \< | 匹配单词开始 | “\<abc”满足的例子abc、abcd |
| \> | 匹配单词结束 | “abc\>”满足的例子abc、pmrabc |
| | | 或 | “AAA|BBB”满足的例子AAA、BBBpp |
3. 范围
| 符号 | 含义 | 举例 |
| ? | 匹配前一个字符0或1次 | “abc?”满足的例子ab、mabcd |
| * | 匹配前一个字符≥0次 | “abc*”满足的例子abbb、abcdk |
| + | 匹配前一个字符≥1次 | “abc+”满足的例子abcd、abcccdd |
| {} | {m}、{m,n}、{m,}、{,n}分别为匹配前一个字符m次、m到n次、≥m次、≤n次 | “abc\{3,5\}”满足的例子abcccc、abcccccc |
| [] | []内如果不是范围,选其一;是范围的话,范围内选其一 | “m[abc]p”满足的例子acpd;m[1-9]p满足的例子m8pp |
| () | 将候选的所有元素放在()内,用|隔开 | “a(1|2|3)bc”满足的例子a1bc、mba3bcd |
注意:{}在郑则表达式中需要转移,而{}()不需要。
注意理解{}范围的例子:

4. 标准字符类
| 字符类 | 释义 |
| [:alnum:] | 字母和数字,与[A-Za-z0-9]等价 |
| [:word:] | [:alnum:]加上下划线_ |
| [:alpa:] | 字母,与[A-Za-z]等价 |
| [:digit:] | 数字,与[0-9]等价 |
| [:xdigit:] | 十六进制字符,与[0-9A-Fa-f等价] |
| [:blank:] | 空格和制表符 |
| [:graph:] | 可见字符,靠扩33~126 |
| [:lower:] | 小写字母 |
| [:upper:] | 大写字母 |
| [:print:] | 可打印字符 |
| [:space:] | 空白字符,等价于[\t\r\n\v\f] |
| [:punct:] | 标点符号 |
| [:cntrl:] | ASCII控制码,包括字符0~31以及127 |
例子

原文地址:http://www.codeceo.com/article/linux-reg-usage.html
【转】Linux正则表达式使用指南的更多相关文章
- linux内核调试指南
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...
- Linux 桌面玩家指南:06. 优雅地使用命令行及 Bash 脚本编程语言中的美学与哲学
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- Linux Kernel - Debug Guide (Linux内核调试指南 )
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级 ...
- 教老婆学Linux运维(二)Linux常用命令指南【上】
目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...
- 转:C++ Boost/tr1 Regex(正则表达式)快速指南
C++ Boost/tr1 Regex(正则表达式)快速指南 正则表达式自Boost 1.18推出,目前已经成为C++11(tr1)的标准部分. 本文以Boost 1.39正则表达式为基础,应该广泛适 ...
- Linux音频编程指南
Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序 ...
- linux正则表达式之-基础正则表达式(基于grep)
linux正则表达式: 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法,如:假设@代表123456,!代表abcde.通过定义的这些特殊符号的铺助,系统管理员就可以快速的过滤,替换或 ...
- 关于清晰讲解linux正则表达式的博文分享
http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html linux shell 正则表达式(BREs,EREs,PREs)差异比 ...
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
随机推荐
- 第三方 XListview 上拉加载、下拉刷新、分页加载和Gson解析
注意:此Demo用的是第三方的Xlistview.jar,需要复制me文件夹到项目中,两个XML布局文件和一张图片 把下面的复制到String中 <string name="xlist ...
- hdu-1978_How many ways dfs+记忆化搜索
How many ways Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total ...
- eclipse,android Localization (Internationalization) 安卓本地化(国际化)
1.创建新的资源文件,名字保持一致.提示"已存在",继续. 2.使用“语言”作为识别器,然后选择相应的语言代码.Tips:其他的适配,如国家.屏幕大小等,也是通过这里的识别器实现适 ...
- AndroidGradle--瘦身apk(转发)
apk瘦身一般有两条线, 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能.其他无用的代码可以想办法去掉 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源 ...
- hadoop的安全模式
在安全模式下:不能增.删.改操作:但可以查看. 查看hadoop是否i处于安全模式下: 执行命令:hadoop dfsadmin -safemode get 进入hadoop的安全模式下: 执行命令: ...
- Suzuki EN3F 参数
- xshell 图形化连接ubuntu
原文: http://jingyan.baidu.com/article/d45ad148967fcd69552b80f6.html Xmanager4系列软件是一套非常好的liunx远程操作,尤其是 ...
- Android ---paint类
引自:http://www.cnblogs.com/-OYK/archive/2011/10/25/2223624.html Android Paint和Color类 要绘图,首先得调整画笔,待画 ...
- CABasicAnimation 基础
一.CABasicAnimation CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着 ...
- zookeeper系列之异步通知模式-Watcher
1 watcher种类和事件种类 Watcher种类 1. zookeeper实例化时注入的默认Watcher 2. dataWatchers 一个Map<string Set<Watch ...