关于 grep及正则表达式
2018/07/21 09:30:44 来源:Linux社区 作者:shamobus

grep及正则表达式

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

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

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

万用字符

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

正则表达式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...]

正则

元字符

贪婪模式
.:匹配任意单个字符
*:匹配其前面的字符任意次
.*:匹配任意长度的任意字符
\?:匹配其前面的字符1次或0次
\{m,n\}:匹配其前面的字符至少m次

位置锚定
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

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

分组:\(\)
后向引用
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容

或者
|:or

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

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-07/153192.htm


5

本栏最新