grep及正则表达式

grep正则表达式

正则表达式(REGular EXPression,REGEXP)是对字符串和特殊字符(元字符)操作的一种逻辑公式,使用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式的文本。

正则表达式又分为基本正则表达式(Basic REGEXP)和扩展正则表达式(Extended REGEXP)。

常见的用途就是用来比对垃圾邮件。

万用字符

列举一些万用字符,跟正则表达式不通。

*:任意长度的任意字符

?:任意单个字符

[]:括号内的单个字符

[abcd]:可以是a,b,c,d中任何一个,但必须有

[0-9]:可以是0到9的任何一个数字,但必须有

[^]:非括号内字符的单个字符

正则表达式POSIX字符类 特殊符号代表意义
[:alnum:]   0-9,a-z,A-Z  
[:alpha:]   a-z,A-Z  
[:digit:]   0-9  
[:xdigit:]   任何十六进制数字  
[:lower:]   a-z  
[:upper:]   A-Z  
[:cntrl:]   ASCII控制字符(ASCII 0~31 和 ASCII 127)  
[:print:]   任何可打印字符  
[:punct:]   标点符号  
[:blank:]   空格或制表符([\t ])  
[:graph:]   除空白字符外的其他字符  
[:space:]   任何空白字符,包括空格([\f\n\r\t\v ])  
grep grep [OPTIONS] PATTERN [FILE...]

-i 忽略字符大小写的差别

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

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

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

-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。

-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。

正则 元字符 贪婪模式 .:匹配任意单个字符 *:匹配其前面的字符任意次 .*:匹配任意长度的任意字符 \?:匹配其前面的字符1次或0次 \{m,n\}:匹配其前面的字符至少m次 位置锚定 ^:锚定行首,此字符后面的任意内容必须出现在行首 $:锚定行尾,此字符前面的任意内容必须出现在行尾 ^$:空白行 \<或\b:锚定词首,其后面的任意字符必须作为单词首部出现 \>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现 分组:\(\) 后向引用 \1:引用第一个左括号以及与之对应的右括号所包括的所有内容 或者 |:or

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12720.html