前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于正则表达式第三篇(r3笔记第52天)

关于正则表达式第三篇(r3笔记第52天)

作者头像
jeanron100
发布2018-03-15 10:19:52
6610
发布2018-03-15 10:19:52
举报

在正则表达式中,还有很多的内容值得学习。 之前的两篇中列举了很少的一部分。没有做更多的分析。 -->字符组 下面的例子可以根据字符组来灵活匹配。比如输入了Good cat或者Good hat就可以通过字符组来进行匹配。[ch]

代码语言:javascript
复制
$ echo "Good cat"|sed -n '/[ch]at/p'
Good  cat
$ echo "Nice hat"|sed -n '/[ch]at/p'
Nice hat
$echo "Yes" |sed -n  '/[Yy][Ee][Ss]/p'
Yes

当然了匹配尽管灵活也是有一定的约束的。

代码语言:javascript
复制
$ cat  a.txt
101
1234
303
30
909
$ sed -n '/[0123][0123][0123]/p'  a.txt   --可以看到,匹配的时候30,909都被过滤掉了。
101
1234
303
$ sed -n  '/^[0123][0123][0123]$/p' a.txt  --如果匹配的条件更加严格,把1234也给过滤掉了。
101
303

-->排除字符组 排除字符组的使用也比较广泛,把^放进[]就是取反了。像good cat通过[^ch]来排除的时候,因为有匹配的字符cat所以就把单词good cat全给过滤掉了。 想big boat通过[^ch]来匹配就没有找到匹配的值,没有排除掉,所以还是能够输出。

代码语言:javascript
复制
$ echo "good cat"|sed -n  '/[^ch]at/p'
$ echo "big boat"|sed -n '/[^ch]at/p'
big  boat

-->区间字符组 区间字符组就比较形象了,一看就是区间的表示。 比如输出b.txt的内容,根据匹配条件[a-ch-m]来筛选的时候,fat tiger就没有可匹配的情况,所以不会输出而cat is sleeping中的cat,that is a very nice hat中的hat都是区间匹配。

代码语言:javascript
复制
$ cat b.txt
 cat is sleeping
 fat tiger 
 that is a  very nice hat
sed -n '/[a-ch-m]at/p' b.txt
 cat is sleeping
 that is a  very nice hat

-->特殊字符组 可以根据制定的字符组来更为方便的进行数据的筛选,过滤。 [[:alpha:]] 任意字母字符,大小写都包括 [[:alnum:]] 任意数字字符,0-9,a-z,A-Z [[:blank:]] 空格或者制表符 [[:digit:]] 0-9之间的数字 [[:lower:]] 小写字母a-z [[:upper:]] 大写字母A-Z [[:print:]] 任意可打印字符 [[:punct:]] 标点符号 [[:space:]] 空白字符:空格,制表符,NL,FF,VT,CR 使用的例子简单总结如下:

代码语言:javascript
复制

$ echo "abc."|sed -n  '/[[:alnum:]]/p'     --筛选任意数字
abc.
$ echo "abc."|sed -n  '/[[:alpha:]]/p'      --筛选任意字母
abc.
$ echo "abc."|sed -n  '/[[:digit:]]/p'     --筛选0-9之间的数字
$ echo "abc."|sed -n '/[[:punct:]]/p'    --筛选标点符号
abc.
$ echo "abc."|sed -n '/[[:print:]]/p'    --筛选可以打印的字符
abc.
$ echo "abc."|sed -n '/[[:lower:]]/p'   --筛选小写字母
abc.
$ echo "abc."|sed -n '/[[:upper:]]/p  --筛选大写字母 
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档