egrep及扩展正则表达式 与正则表达式不同处
egrep及扩展正则表达式与正则表达式不同处
正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展扩展,在元字符的表示上与基本正则表达式略不同。
1.命令格式:
egrep [option] pattern file
2.命令功能:
用于过滤/搜索的特定字符。可使用扩展正则表达式能多种命令配合使用,使用上十分灵活。
3.命令参数:
egrep等同于grep -E选项
扩展正则表达式的元字符:
字符匹配:
字符匹配:
. #匹配单个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
次数匹配:
* #匹配零个或多个先前字符。如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
? #匹配其前面出现的字符0次或1次。如:'x\?y'匹配x出现一次或者不出现的行。
+ #匹配其前面的字符出现至少一次。如:'x\+y'匹配x出现最少一次的行。
{m} #匹配其前面的字符至少m次;如:'0\{5\}'匹配包含5个o的行。
{m,} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
{m,n}:匹配其前面的字符至少m次,至多n次;o\{5,10\}'匹配至少有5-10个o的行。
.* :匹配任意长度的任意字符
位置锚定:
$ #行尾锚定 如:'grep$'匹配所有以grep结尾的行。
^ #行首锚定 如:'^grep'匹配所有以grep开头的行。
^$ #空白行:行首与到行尾 特殊环境能用到
\< #单词词首锚定,也可以用\b。如: '\<grep''\bgrep'只匹配grep单词开头的行。
\> #词尾锚定,也可以用\b。如:'grep/>''grep/b'只匹配grep单词结尾的行。
/<pattern/> #单词锚定,只匹配出现pattern单词的行和'/bpattern/b'是一样的效果。
\b #单词锁定符,如: '\bgrep\b'只匹配grep。 同/<pattern/>
分组
() #将关键字和元字符在里面分组,也支持后向引用。
后向引用:模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果括号中的模式匹配到了某内容,次内容 后面的模式中可以被引用;\1,\2,\3 第一个括号,第二个括号,第三个括号模式自左而右,引用第#个左括号以及与其匹配右括号之间的模式匹配到的内容。
4.不同处:
紧紧在元字符表示上略有不同:
在次数匹配的:?,+,{m},{m,}{m,n},分组()等等元字符表示上略有不同,使用方法都是一样的,大家可以参考另一篇博文《grep命令及基本正则表达式》
egrep及扩展正则表达式 与正则表达式不同处的更多相关文章
- 09.正则表达式re-1.正则表达式
1.正则表达式概述 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列匹配某 ...
- egrep 及扩展正则表达式
grep -E 表示支持扩展的正则表达式 grep -E = egrep 一.字符匹配: 扩展模式下的字符匹配与基本正则表达式的字符匹配相同,如: . 表示任意单个字符 [] 表示范围内人任意单个字符 ...
- 正则表达式--C#正则表达式的符号及例子
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. C#中经常会遇到要查找某一个字 ...
- 学习php中的正则表达式,PHP正则表达式基础
语法格式:位于定界符"/"之间. 较为常用的元字符包括: “+”, “*”,以及 “?”. 其中, “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次, “*”元字符规定 ...
- python正则表达式--编译正则表达式re.compile
编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True) ...
- 廖雪峰Java9正则表达式-2正则表达式进阶-3分组匹配
1.使用括号可以提取字符串 不加括号匹配电话号码 匹配成功后,如何提取想要的字符串? 使用(...)可以分组:"^(\d{3,4})\-(\d{6,8})$" 2.String.m ...
- 廖雪峰Java9正则表达式-1正则表达式入门-2正则表达式匹配规则
正则表达式的匹配规则: 从左到右按规则匹配 匹配规则及示例 可以匹配 不能匹配 "abc" "abc" 不能匹配:"ab", "A ...
- 廖雪峰Java9正则表达式-1正则表达式入门-1正则表达式简介
1.使用代码来判断字符串 场景: 判断字符串是否是有效的电话号码:"010-12345678", "123ABC456" 判断字符串是否是有效的电子邮箱地址:& ...
- egrep及扩展正则
模式:pattern 正则: grep:基本正则,查找速度慢 Extended grep:扩展正则 fgrep:fast grep,不支持正则,直接查找字符串,执行速度快 基本正则: . :任意单个字 ...
随机推荐
- Koltin——最详细的可见性修饰符详解
在Kotlin中,不管是类,对象,接口,构造函数,函数,属性及其设置器都具有可见性修饰符.Kotlin中的可见性修饰符共四种.即public.protected.private.internal.在不 ...
- java 接口测试
学习java 时间也不算太长,大学有点基础,学起来也顺手多了,其实我感觉更是因为学习完python之后,在学习别的语言的时候就简单多了,几乎所有的语言学起来都差不多.前几篇写过的都是python接口测 ...
- NOIP2017 小凯的疑惑
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...
- SpringCloud Feign使用详解
添加依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId> ...
- Java VS .NET:Java与.NET的特点对比
一.前言 为什么要写Java跟.NET对比? .NET出生之后就带着Java的影子.从模仿到创新,.NET平台也越来越成熟.他们不同的支持者也经常因为孰弱孰强的问题争论不休.但是本文并不是为了一分高下 ...
- AspNet Core :创建自定义 EF Core 链接数据库
这两天比较忙,写的会慢一点. 我们以控制台演示 EF Core的链接数据库 首先创建控制台程序 创建数据上下文类 EntityTable /// <summary> /// 继承 DbCo ...
- windows 终端命令详解
打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd ...
- opensslBIO系列之2---BIO结构和BIO相关文件介绍
BIO结构和BIO相关文件介绍 (作者:DragonKing Mail:wzhah@263.net 公布于:http://gdwzh.126.com openssl专业论坛) ...
- dynamic programming 学习
这是看到一位大神,写的关于dynamic programming的博客,认为很好.简单分析下.然后给出链接. 背景问题就是 有一个国家,全部的国民都很老实憨厚,某天他们在自己的国家发现了十座金矿.而且 ...
- Android View动画效果—透明效果,旋转效果(二)
一:动画效果 方法一:动画效果用AlphaAnimation类.直接加入 AlphaAnimation aa = new AlphaAnimation(0,1); //设置透明度 aa.setDura ...