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

正则表达式之grep与egrep

发布时间:2020-12-14 01:49:21 所属栏目:百科 来源:网络整理
导读:一、正则表达式之grep与egrep 正则表达式:就是用一类字符所书写的模式(pattern)来描述选择的条件; grep:默认支持基本正则表达式 egrep:扩展正则表达式 二、grep,egrep基本语法 2.1 grep说明 : grep [参数] "模式(pattern)" 文件(FILE) --color=auto :

一、正则表达式之grep与egrep
正则表达式:就是用一类字符所书写的模式(pattern)来描述选择的条件;
grep:默认支持基本正则表达式
egrep:扩展正则表达式

二、grep,egrep基本语法

2.1 grep说明
grep [参数] "模式(pattern)" 文件(FILE)
--color=auto :给被匹配到的字符串加上颜色;
-v :反向选取,只显示不符合模式的行;
-o:只显示被匹配到的字符串,而不是整行;
-i:不区分大小写字母;
-E:使用扩展正则表达式;
(grep -E = egrep)

-A #:显示匹配到的后面的#行(eg: -A 2 );
-B #:显示匹配到的前面#行;
-C #:显示匹配到的前后#行;

2.1.1) 基本正则表达式元字符
^:锚定行首符合条件的内容;
eg: grep "^ROOT" /etc/passwd
$:锚定行尾符合条件的内容;
eg: grep "ROOT$" /etc/passwd

注意:锚定行首行尾 ^ROOT$
锚定空白行 ^$

.:匹配任意单个字符;
*:匹配紧挨在前面的字符任意次(匹配0次,1次,2次...);
.*:匹配任意长度的任意字符;
eg: grep "ab.*ab" File

[]:匹配指定范围内的任意单个字符;
eg: grep "[abc]" FILE
[^]:匹配范围外的任意单个字符;
[a-z]:匹配a到z小写字母任意单个字母;
[A-Z]:匹配A到Z大写字母任意单个字母;
[0-9]:匹配0到9数字任意单个数字;
[:digit:]:所有数字,相当于0-9
[:lower:]:所有小写字母,相当于a-z
[:upper:]:所有大写字母,相当于A-Z;
[:alpha:]:所有的字母
[:alnum:]:所有字母,数字
[:space:]:空白字符
[:punct:]:所有标点符号
eg: grep "^[0-9][a-z]$" FILE

?:匹配紧挨在前面的字符0次或1次;
{m,n}:匹配其前面的字符至少m次,至多n次;
{0,n}:匹配至多n次,0-n次;
{m,}:匹配至少m次;
{m}:精确匹配m次;
eg:grep "a{1,5}" FILE

&;:锚定词首
eg: grep "&;b" FILE

&;:锚定词尾
eg: grep "b&;" FILE

():分组
eg: grep (ab){1,3} FILE


2.2 egrep说明:

grep -E=egrep

2.2.1) 扩展正则表达式egrep元字符扩展,其余同上
+:匹配前面的字符至少1次;
eg egrep "a+" FILE
?:匹配紧挨在前面的字符0次或1次;

eg grep-E "a?b" FILE


{m,n} :至少m次,至多n次;
eg:egrep "a{1,5}" FILE

():分组,支持引用1,2
eg: egrep "(ab){1,3}.*1" FILE

a|b: 二选一,或者; eg:egrep "^s|S" FILE

(编辑:李大同)

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

    推荐文章
      热点阅读