加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

正则表达式和扩展正则表达式

发布时间:2020-05-27 22:56:18 所属栏目:程序设计 来源:互联网
导读:正则表达式与扩展正则表达式 正则表达式:REGular EXPression ,REGEXP grep (Global Research):使用基本正则表达式定义的模式来过滤文本的命令 grep [options] PATTERN [FILE...] -i:忽略字符大小写 --color:加颜色 -v:显示没有被模式匹配到的行 -o:只显示

正则表达式与扩展正则表达式

正则表达式:REGular EXPression,REGEXP

grep (Global Research):使用基本正则表达式定义的模式来过滤文本的命令

grep [options] PATTERN [FILE...]

-i:忽略字符大小写

--color:加颜色

-v:显示没有被模式匹配到的行

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

Pattern:文本字符和正则表达式的元字符组合而成的匹配条件

-i:忽略字符大小写

--color:加颜色

元字符:

.:表示匹配任意单个字符

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

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

字符集合:

[:digit:]:数字

[:lower:]:小写字母

[:upper:]:大写字母

[:punct:]:标点符号

[:space:]:空白字符

[:alpha:]:所有字母

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

匹配次数(贪婪模式):

*:匹配其前面的字符任一次

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

?:匹配其前面的字符一次或零次 只要部分匹配即可

?:匹配其前面的字符一次或零次

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

位置锚定:

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

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

^$:空白行

例如:找出/etc/inittab下所有已数字结尾的行

正则表达式和扩展正则表达式

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

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

<root>:精确出现

分组:

()

(ab)*:ab为一个整体

后向引用:

1:第一个左括号以及与之对应的右括号所包括的所有内容

例如:在/etc/inittab下匹配数字并以数字结尾的内容

grep ‘([0-9]).*1$’ /etc/inittab

正则表达式和扩展正则表达式

2:

3:

扩展正则表达式:egrep

字符匹配:

.:表示匹配任意单个字符

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

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

次数匹配:

*:匹配其前面的字符任一次

?:匹配其前面的字符一次或零次 部分匹配就行

+:匹配其前面的字符至少一次

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

位置锚定:

位置锚定:

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

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

^$:空白行

分组:

()

1,2,3...

或者:

|:or

C|cat:匹配C和cat

(C|c)at:匹配cat和Cat

(编辑:安卓应用网)

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

    推荐文章
      热点阅读