手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

grep正则表达式

[日期:2015-09-15] 来源:yuminstall.com  作者:Li.Yingjie [字体: ]

正则表达式是一种符号表示法,用于识别文本模式。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:] 空白字符,等价于[trnvf]
[:punct:] 标点符号
[:cntrl:] ASCII控制码,包括字符0~31以及127

例子

Linux 基础入门教程----正则表达式基础   http://www.linuxidc.com/Linux/2015-08/121441.htm

Linux正则表达式sed 详述  http://www.linuxidc.com/Linux/2015-04/116309.htm

Linux正则表达式特性及BRE与ERE的区别 http://www.linuxidc.com/Linux/2014-03/99152.htm

grep使用简明及正则表达式 http://www.linuxidc.com/Linux/2013-08/88534.htm

正则表达式的用法 http://www.linuxidc.com/Linux/2013-03/81897.htm

正则表达式之零宽断言 http://www.linuxidc.com/Linux/2013-03/81897.htm

Linux中正则表达式与文件格式化处理命令(awk/grep/sed) http://www.linuxidc.com/Linux/2013-03/81018.htm

基础正则表达式 http://www.linuxidc.com/Linux/2014-09/106296.htm

常用正则表达式整理 http://www.linuxidc.com/Linux/2014-10/108076.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-09/123035.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款