正则表达式简单明了的学法

以下的内容都是在centos6.9或centos7中做过后得出的一些个人看法,希望大家多多交流,有误的地方请及时指正

心里只有一件事

t01572b3c23c9b86589

学习新知识之前最起码要知道它是什么,同样学习正则表达式要先明白它的概念。

正则表达式:REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义而表示控制或通配的功能

看清!!!看清!!!  关键字: 元字符   通配      明白不?你就是来搞他俩的       好了重点来了

元字符:可分为 字符匹配     匹配次数    位置锚定    分组

次序明白了不?好  一个一个击毙

先说字符匹配 乍一看和通配符很像,(应该是近亲吧)  相同的不再赘述 来点不同的

.看见了不(长点心吧)我最前面写了一个点,这个意思是匹配任意单个字符,一个点代表一个字符,两个点代表两个字符,三个点…(聪明我就不说了),六个点不仅代表六个字符(此处省略n个字)

说到了点顺便说下转义:例 grep  “…”  file   本来是过滤三个字符但是    grep  “.\..”  file  就表示中间的点不代表任意字符显示时就是一个点,明白了不,把他的基本意义给转换了。

*********************************************************************************************

匹配次数:用在指定次数的字符后面,用于指定前面的字符要出现的次数

\? 匹配前面的字符0次或者1次  啥意思?就是前面可有可无  还不明白?来个例子

grep  “ab\?”  file     \?  前面是谁?  b对吧(聪明)也就是说b可有可无 明白了吧,结果是a开头,结尾是b或者没有   理解了吧

\+   匹配其前面的字符至少一次   有了上面的例子就容易理解了,先搞明白\+前面是谁,前面的字符要至少出现一次

例: grep  “ab\+”  file     \+前面是b吧,也就是说b至少要出现一次(最多不限哦)

好了 ,其他的都比较容易理解

t012cc2651a36191e01

位置锚定:对特定位置进行定位

这个就简单了就是说如果想匹配行首则加^(要加在前面),行尾的话则加$(加在最后)


分组\(\)将一个或多个字符捆绑在一起,当作一个整体进行处理

例:grep  “hello\{2\}”  file    想找连续出现两次hello这样是不行的,这样的结果会是 helloo  hellooooo……

那这个时候就要用到分组了   grep   “\(hello\)\{2\}”  file  这样的结果才是hellohello   啥?还没懂  再来

QQ截图20180407154129

红色为第一分组,蓝色为第二分组,这次明白了吧 ,有错误的地方请及时指出

图不重要向上

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95162

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code