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

grep正则表达式

发布时间:2020-12-13 22:10:41 所属栏目:百科 来源:网络整理
导读:grep(Global search REgular expression and Print out the line)是一种以行为单位按照给定的pattern(模式)进行文本搜索文本处理器。 在使用的时候,我们通常有这种感觉,每个选项我都差不多记住了,但是一到用的时候就想不来,请以我的方式一起来学习如

grep(Global search REgular expression and Print out the line)是一种以行为单位按照给定的pattern(模式)进行文本搜索文本处理器。

在使用的时候,我们通常有这种感觉,每个选项我都差不多记住了,但是一到用的时候就想不来,请以我的方式一起来学习如何使用grep正则表达式。

首先科普一下选项:

常用选项:

--color=auto:对匹配到的文本着色后高亮显示;

-i:忽略字符大小写;

-o:仅显示匹配 到的文本自身;

-v, --invert-match:反向匹配;

-E:支持扩展的正则表达式;

-q,--quiet, --silient:静默模式,不输出任何信息;

pattern:

*:匹配前面的字符任意次(0,1或多次);

.*:任意长度的任意字符;

+:匹配前面的字符至少1次;

?:匹配前面的0次或1次,即前面的字符可有可无;

{m}:其前面的字符出现m次,m为非负整数;

{m,n}:其前面的字符出现m次,m为非负整数;[m,n];

^:行首锚定;用于模式的最左侧,^PATTERN;

$:行尾锚定;用于模式的最右侧,PATTERN$;

&;或b:词首锚定,用于单词模式的左侧;

&;或b:词尾锚定,用于单词模式的右侧;

一定要理解:grip使部分匹配,以行为单位进行处理的;

让我们以使用者的角度来学习一下正则表达式。文本搜索,无非是查找。我先自己编辑了一个文件。这是一偶的一点介绍。


wKioL1ber-KDEdwrAACAFRO4ZLQ670.png


①先看看他是否喜欢John;

(这个应该没有什么好说的,直接查找他就是了)

[root@localhost tmp]# grep "Michael Jordan" test.txt

I like my liker that he is the Michael Jordan.

②规定一行一句话,行首有小写字母应该有错;

(定位行首就用^,小写字母用[a-z][[:lower:]]等加一起就可以了)

[root@localhost tmp]# grep "^[a-z].*" test.txt

you may ask me how many? is 1 is 2 is 34567 is 999

that is not true.

③看看他的like和love情况吧;

(要找同一个单词出现两次,就想有grep有一个特征:可以用‘(’,')'来保存匹配到的部分,这部分是保存在1中的,这个是一个整体匹配,也就是grep在查找1时,必须与前面一模一样)

[root@localhost tmp]# grep "(l..e).*1" test.txt

I like my liker that he is the Michael Jordan.

I love my lover that he is Michael Jackson.

Where I AM IN the university,I have lover,but she don't love me.

[root@localhost tmp]# grep "(l..e).*1" test.txt

I like my liker that he is the Michael Jordan.

I love my lover that he is Michael Jackson.

Where I AM IN the university,but she don't love me.

③好像没有哪个单词有三个连续相同的字母;

[root@localhost tmp]# grep "(.)11" test.txt

Where I AM IN the university,but she don't lllove me.

you may ask me how many? is 1 is 2 is 34567 is 999

④看看他是不是很自我;

(定位行首用^)

[root@localhost tmp]# grep "^I" test.txt

I like playing basketball .

I am very simplicity.

I like my liker that he is the Michael Jordan.

I love my lover that he is Michael Jackson.

It was long and long ago.

I am still a boy.

I have no girlfriend,and that made me crazy.But i am truly believe that a beautiful girl will comes one day.

I know that is a little long from now.


⑤一个思路供大家参考

(编辑:李大同)

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

    推荐文章
      热点阅读