Linux系统中grep是一种强大的文本搜索工具,按照关键字或正则表达式过滤文本,并把匹配的行打印出来。grep的全称是Global Regular Expression Print,表示的是全局正则表达式版本,使用权限时所有用户。
正则表达式是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过字符串+普通字符来进行模式描述,从而达到文本匹配目的的工具。
我们发现,加上-E选项,就能匹配除,不加-E什么都没有,这是因为默认的是基本正则表达式,加上-E则是扩展正则表达式。其实,也可以使用egrep,也是扩展正则表达式。
基础正则和扩展正则的规范基本相同,只是在Basic规范下,有些字符 ?、+、{}、()、| 解释为普通字符,要表示特殊含义需要加 进行转义。
在Extended规范下,这些符号被解释为特殊含义,要取其字面值,也要对其进行 转义。
d、D只有在Perl正则下才能匹配。
我们知道,grep默认的就是贪婪匹配,会将一行中所有满足正则的全部匹配出啦。
而非贪婪模式是一旦发现匹配符合要求,立马匹配成功,而不会继续匹配下去(除非有g,开启下一组匹配)。
用于指定一个位置,这个位置应该满足一定的条件。
1.零宽度正预测
(?+正则表达式)
正则表达式所处位置之前,不包括正则表达式指定的位置的单元。
2.零宽度正后顾后发断言
(?<=正则表达式)
正则表达式所处位置之后,不包括正则表达式指定的位置的单元。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://zy.tttmy.cn/news/8616.html