grep 及正则表达式 - Go语言中文社区

grep 及正则表达式


grpe 及正则表达式

文本查找的需要:grep,egrep,fgrep
grep: 根据模式,搜索文本,并将符合模式的文本行显示出来。
Pattern : 文本字符以及正则表达式的元字符组合而成的匹配条件

grep [OPTIONS] PATTERN [FILE...]
-i :忽略大小写
--color :颜色突出显示
-v: 显示没有匹配到的行(反向匹配)
-o : 只显示被模式匹配到的字符串(一个字符串显示为一行)

* :任意长度字符
?:任意单个字符
[]:
[^]


正则表达式: RE regular expression REGEXP
元字符:
.: 匹配任意单个字符
[]:匹配指定范围内的任意单个字符

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

!: 取反

字符集合: (引用的时候还要加一个 [ ] )
[:digit:] 数字
[:lower:] 小写字母
[:upper:] 大写字母
[:punct:] 标点符号
[:space:] 空白字符
[:alpha:] 所有字母
[:alnum:] 所有数字和字母

 

匹配次数(贪婪模式:尽可能长的匹配):
* :匹配其前面的字符任意次
a,b,ab,aab,acb,adb,anib
a*b :表示a 出现任意次 然后匹配个b ,所以上面能匹配的是,b,ab,aab

.* :匹配任意长度的任意字符
a.*b : 则表示匹配a开头b结尾的字符串,中间任意啥都行 . 表示任意字符,* 表示匹配 . 任意次。

?: 匹配其前面的字符1次或0次
a?b
{m,n}匹配其前面的字符至少m次,至多n次
是转义字符,避免被shell解析为命令行展开
a{1,3}b 匹配ab,a出现至少1次,最多3次的字符 --> ab,aab,aaab
a.{1,3}b a和b之间出现任意字符,最少1个,最多3个

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

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

分组:
()
(ab)* : ab作为一个整体,可以出现任意次
后向引用
1:引用第一个左括号以及与之对应的右括号所包括的所有内容 (ab).*1
2:引用第二个左括号以及与之对应的右括号所包括的所有内容 (ab).*2
3:引用第三个左括号以及与之对应的右括号所包括的所有内容 (ab).*3

 

正则表达式:
Basic REGEXP: 基本正则表达式
Extended REGEXP:扩展正则表达式。

基本正则:
.:
[]:
[^]:

次数匹配:
*:
?: 0或1次
{m,n} :至少m次,至多n次

锚定:
^:
$:
<,b:
>,b

分组:
():
1,2,3....

grep: 使用基本正则表达式定义的模式来过滤文本的命令:
-i:忽略带大写
-v:反向搜索
-o:只显示匹配到的字符串
--color:显色
-E:使用扩展正则表达式
-A #: 表示某一行匹配到了,其后面的#行也显示出来,每一组用 -- 分隔
-B #: 表示某一行匹配到了,其前面的#行也显示出来,每一组用 -- 分隔
-C #:表示某一行匹配到了,其上下的#行也显示出来,每一组用 -- 分隔

扩展的正则表达式:
字符匹配:
. :任意单个字符
[]:指定范围内的单个字符
[^]: 指定范围外的单个字符

次数匹配:
*:匹配其前字符匹配任意次
?:匹配其前字符0次或1次
+:匹配其前字符至少1次
{m,n}:至少m次,至多n次 (不需要再使用 )

位置锚定:
^: 行首
$: 行尾
<,b: 词首
>,b:词尾

分组:
(): 分组
1,2,3....
或者
|:or

group -E = egroup

1-255的数字正则表达式:
<[1-9|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]>


IPV4:
5类: ABCDE 类
A:1-127
B:128-191
C:192-233
匹配IP

fgrep : 不支持正则表达式( 执行速度快)

 

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/thelovelybugfly/p/10743634.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-10 12:05:17
  • 阅读 ( 891 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢