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

grep与正则表达式01-基础知识

发布时间:2020-12-14 04:24:18 所属栏目:百科 来源:网络整理
导读:本文旨在学习grep命令,基本/扩展正则表达式 1. grep命令 g rep:根据模式搜索文本,并将符合的文本显示出来。 本身的意义就是做部分匹配的 。 pattern(模式):文本字符和正则表达式的元字符组合而成匹配条件。 grep常用选项 : -o: 只显示被模式匹配到的

本文旨在学习grep命令,基本/扩展正则表达式

1. grep命令

grep:根据模式搜索文本,并将符合的文本显示出来。本身的意义就是做部分匹配的

pattern(模式):文本字符和正则表达式的元字符组合而成匹配条件。

grep常用选项

-o:只显示被模式匹配到的字符串

-n:在匹配到的字符串行首显示行号

-v:显示没有被模式匹配到的字符串

-i:表示忽略字符大小写

-c:计算匹配到的字符串的次数

-w:只显示全字符符合的行

-x:只显示全行符合的行

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

-E:使用扩展的正则表达式

-A#(数字):显示被匹配到的行和后面的#行

-B#(数字):显示被匹配到的行和前面的#行

-C #(数字):显示上下文

2. 基本的正则表达式REGularEXEperssionREGEXE

元字符:

. :匹配任意单个字符

[] :匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

字符集合:

[:digit:]数字

[:lower:]小写字母

[:upper:]大写字母

[:alpha:]所有字母

[:alnum:]所有数字和字母

[:space:]空白字符

[:punct:]标点符号

匹配次数(贪婪模式):

* :匹配其前面的字符任意次(也可以是0次)

.*:任意长度任意字符

?(反斜线做转义):匹配其前面的字符1次或者0次。

{m,n}:匹配其前面的字符至少m次,至多n次

{1,}:表示至少1次

{0,3}:最多3次

位置锚定:

^ :锚定行首,此字符后面的内容必须出现在行首

$ :锚定行尾,此字符前面的任意内容必须出现在行尾

^$:匹配空行

^[[:space:]]*$ :空白行

&;或者b:锚定词首,其后面的任意字符必须作为单词的首部出现

&;或者b:锚定词尾,其前面的任意字符必须作为单词的尾部出现

&;root&;或者brootb:表示必须是root整个单词出现

注意:b有时候会显示不准确,建议尽量显示&;,&;。

分组:

()

(ab)*:后向引用,把ab作为一个整体,可以出现0次,1次或者任意次。

1:引用第一个左括号与之对应的右括号所包含的所有内容

2:

3:


3.扩展的正则表达式

字符匹配(与基本的正则表达式相同)

.:匹配任意单个字符

[]:匹配指定范围内的任意单个字符

[^]:匹配指定范围外的任意单个字符

次数匹配:

*

.* :匹配任意长度的任意字符

? :匹配其前面的字符1次或者0次

+ :匹配其前面字符至少一次,相当于{1,}。?和+组合相当于*

{m,n}:做次数匹配。扩展正则表达式不用加反斜线。

例:取一个路径的基名

[root@station126~]#echo/etc/sysconfig/network|egrep-o'[[:alnum:]]+/?$'

network

[root@station126~]#echo/etc/sysconfig/|egrep-o'[[:alnum:]]+/?$'

sysconfig/

注意:体会?这里的妙用。

位置锚定:(与基本的正则表达式相同)

^ :锚定行首

$ :锚定行尾

&;或b:锚定词首

&;或b:锚定词尾

分组:

()

1,2,3,…….后项引用

| :或者(or的意思)

a|b:a或者b

C|cat:C或者cat


4. 练习题

http://www.52php.cn/article/p-wqjwdawy-wk.html

(编辑:李大同)

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

    推荐文章
      热点阅读