加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 23:00:30 所属栏目:百科 来源:网络整理
导读:接触UNIX正则表达式,也差不多有年把时间了,但是一直不是很清晰,正则表达式确切的含义。 趁着现在拿着工资,不干实事的机会,把正则表达式总结一下吧。 下面这个图是楼主看《sed与awk第二版》这本书,从里面抄下来的。楼主把内容画成了思维导图,看 起来方

接触UNIX正则表达式,也差不多有年把时间了,但是一直不是很清晰,正则表达式确切的含义。

趁着现在拿着工资,不干实事的机会,把正则表达式总结一下吧。

下面这个图是楼主看《sed与awk第二版》这本书,从里面抄下来的。楼主把内容画成了思维导图,看

起来方便点。

下面这幅图,主要描述了正则表达式的概念,匹配过程的理解,基本元字符及扩展元字符等内容。


其实理解起来,正则表达式,是个啥东西呢? 说白了,正则表达式就是一个字符串。。

不过和咱们平时看到的字符串,不同的地方是什么呢?

正则表达式的这一串字符串,可以是不变的字面量,比如"abc"。也是可以是经过正则表达式元字符修饰

之后的一串变量字符串,比如"abc*",从这个层次来看,正则表达式也是一种模式。 符合我模式的留下,不符合的pass掉

啥叫模式呢? 楼主瞎掰了一个例子,不一定对啊。


其实正则表达式匹配的过程,楼主觉得,就和招聘会差不多嘛。

招聘方发布一个一个岗位,比如说运维岗位,1要精通linux,2要会bash,perl,python等脚本语言中的一种以上。3.有c++,java等语言开发经验者优先 4.要有团队协作的精神。

OK,应聘的人来了好多,但是你来这么多人,不一定都满足我的岗位要求吧。。。OK,这个时候,HR就可以根据的招聘要求,对应聘的人进行筛选,满足条件的留下。


OK,这个岗位招聘条件,其实就和正则表达式差不多,当然楼主这个例子,还有很多不恰当的地方,正则表达式,是只要你满足我的模式,全部筛选出来。 而招聘,则有择优,HR个人判断等等额外因素了。


在说说基本元字符和扩展元字符吧。

基本元字符发行的时间早点嘛,grep和sed是用的基本元字符(BRE)

扩展元字符,就是基本元字符不够用了或不好用了,然后就有了扩展元字符,egrep和awk是使用的扩展元字符(ERE)。


wKioL1O0xkTxjagEAATYKyKm3Lw952.jpg


OK,理论知识做了个小总结。

理论简单,灵活运行才是最重要的,不过灵活运用这东西就要以后不断的发散思维,不断的结合着工具去实际运用了。

楼主在这里收录几个比较常用的正则组合吧,下面这边表格以后就不断更新了。

匹配空行
^$
匹配任意字符
*$
匹配整行
^.*$
匹配年月日(2014--07-03)
[0-9]{4}-[0-9]{2}-[0-9]{2}
匹配开头为空白的行
'^ '
匹配空行或开头为空白的行
'^$|^ '

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读