grep,egrep正则表达式

前端之家收集整理的这篇文章主要介绍了grep,egrep正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式是指由一类字符书写的模式,其中有些字符不表示字符的字面意义,而是变速控制或通配功能

Grep 正则表达式分两类:

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

语法格式:grep [OPTION]….’PATTERN’ FILE….

基本正则表达式分为:

字符匹配和匹配次数、位置锁定、分组、grep选项

1、字符匹配指令字符集:

.:匹配任意单个字符

spacer.gif

[]:匹配指定集合中的任意字符

[[:alnum:]]:[0-9a-zA-Z]代表匹配数字和大小写字符

spacer.gif

[[:alpha:]]:[a-zA-Z]代表匹配大小写字符

spacer.gif

[[:upper:]]:[A-Z]代表匹配大写字符

spacer.gif

[[:lower:]]代表匹配小写字符

spacer.gif

[[:digit:]]代表匹配数字字符

spacer.gif

[[:space:]]代表匹配空白字符

spacer.gif

[[:punct:]] 代表匹配标点符号字符

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

spacer.gif

匹配次数:用于对其前面紧邻的字符所能够出现的次数作出限定

匹配次数字符指令集:*\?,\{m\},\{m,n\},.*

*;匹配其前面任意次,0,1或多次

spacer.gif

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

\{m\}:匹配其前面的字符的M次:

spacer.gif

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

spacer.gif

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

spacer.gif

2、位置锁定

位置锁定字符指令集:^,$,^$,\<,\>,\<pattern\>

^;行首锚定(注释:要写在模式最左侧)

spacer.gif

$行尾锚定(注释:写在模式最右侧)

spacer.gif

^$:(代表空白行)

spacer.gif

\<:词首锚定(出现在要查找的单词模式的左侧)

spacer.gif

\>:词尾锚定(出现在要查找的单词模式的右侧)

spacer.gif

\<pattern\>:匹配单词

spacer.gif

分组\\

后向引用;模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果\\)的模式匹配到了某内容,此内容后面的模式中可以被引用;

\1,\2\3,\4是指第几个括号引用第#个左括号以及与其匹配右括

号之间的模式匹配到的内容

spacer.gif

Grep的选项:

-v:反向选取

spacer.gif

-O:仅显示匹配到内容

spacer.gif

-i:使用扩展正则表达式

spacer.gif

-A#:匹配字符前两行

spacer.gif

-B#匹配字符后两行

spacer.gif

-C#匹配字符上下两行

Egrep及扩展的正则表达式

扩展正则表达式的元字符:

字符匹配分为:

.:匹配任意单个字符

spacer.gif

[]:匹配指定集合中的任意字符

spacer.gif

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

spacer.gif

匹配次数字符集:

*;匹配其前面任意次,0,\<pattern\>

^;行首锚定(注释:要写在模式最左侧)

spacer.gif

$行尾锚定(注释:写在模式最右侧)

spacer.gif

位置锚定:、

字符指令集:

^;行首锚定(注释:要写在模式最左侧)

spacer.gif

$行尾锚定(注释:写在模式最右侧)

spacer.gif

\<:词首锚定(出现在要查找的单词模式的左侧)

spacer.gif

\>:词尾锚定(出现在要查找的单词模式的右侧)

spacer.gif

\<pattern\>:匹配单词

spacer.gif

分组\\

后向引用;模式中,如果使用\(\)实现了分组,在某行文本的检查中,如果\\)的模式匹配到了某内容,此内容后面的模式中可以被引用;

\1,\4是指第几个括号引用第#个左括号以及与其匹配右括

号之间的模式匹配到的内容

spacer.gif

猜你在找的正则表达式相关文章