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,不支持正则,直接查找字符串,执行速度快 基本正则: . :任意单个字 ...
随机推荐
- ASP.NET没有魔法——ASP.NET MVC使用Oauth2.0实现身份验证
随着软件的不断发展,出现了更多的身份验证使用场景,除了典型的服务器与客户端之间的身份验证外还有,如服务与服务之间的(如微服务架构).服务器与多种客户端的(如PC.移动.Web等),甚至还有需要以服务的 ...
- Linux下实现CAD数据的导出
近期公司项目涉及到CAD的导出,而且部署服务器申请不到Windows下的,所以技术上的解决方案就是寻求如何在Linux下实现CAD数据的导出. 于是百度了一下,找了几个相关库和软件. 1.dxflib ...
- 【技能大赛笔记01】Zigbee点对点按键控制程序开发
[技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...
- js函数的作用域与this指向
函数的作用域与this指向是js中很重要的一部分,理清这点东西需要个逻辑,看看我的逻辑怎么样... 下面是个提纲,可以直接挑你感兴趣的条目阅读. 函数的定义方式:直接定义(window下,内部定义), ...
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3734395.html 一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的serve ...
- Ambari源代码分析之Resource.Type与ResourceProvider相应关系
前面提到.每一种Resource都相应一个ResourceProvider,以下给出其相应关系: Resource.Type ResourceProvider Workflow WorkflowRes ...
- tiny210(s5pv210)移植u-boot(基于 2014.4 版本号)——NAND 8位硬件ECC
这节我们实现nand的ecc,保存环境变量到nand flash 中.然后把我们之前的led灯烧写到nand flash 中.开机启动.在 tiny210.h 中定义宏 CONFIG_S5PV210_ ...
- gulp管理静态资源缓存
前端项目在版本迭代的时候,难免会遇到静态缓存的问题,明明开发的是ok的,但是一部署到服务器上,发现页面变得乱七八糟,这是由于静态缓存引起的. 从上面这张图片可以看出,浏览器加载css,js等资源时,s ...
- 六、Spring Boot Controller使用
在Controller中使用 @RestController 注解,该注解是spring 4.0引入的.查看源码可知其包含了 @Controller 和 @ResponseBody 注解.我们可以理解 ...
- .net core控制台应用程序初识
.net core控制台应用程序与之前.net版本有所不同,编译之后不会生成.exe启动程序,而是生成.dll文件 所以在使用的时候需要敲入命令来启动控制台应用程序,命令是: start dotne ...