关于正则表达式第三篇

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

在正则表达式中,还有很多的内容值得学习。
之前的两篇中列举了很少的一部分。没有做更多的分析。

-->字符组
下面的例子可以根据字符组来灵活匹配。比如输入了Good cat或者Good hat就可以通过字符组来进行匹配。[ch]
$ 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

当然了匹配尽管灵活也是有一定的约束的。
$ 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]来匹配就没有找到匹配的值,没有排除掉,所以还是能够输出。
$ 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都是区间匹配。
$ 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
使用的例子简单总结如下:
$ 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  --筛选大写字母

目录
相关文章
SAP扩充物料的销售视图
比如我们现在有一个物料,这个物料只具备基本视图,我们如何为这个物料补充销售视图呢?先看看这个物料,使用事务码MM03我们无法使用MM02去扩充视图,我们需要使用MM50为它扩充销售视图。维护执行之后,进入类似于MM01的画面,如下图看,我们可以开始扩充这个物料的销售视图了。
4566 0
|
9月前
|
人工智能 关系型数据库 分布式数据库
3月5日(周三),Data+AI Workshop(深圳站)邀您参加!
本期沙龙将深度解析阿里云自研数据库PolarDB与AI的融合,涵盖应用场景、核心技术及实践案例,助力企业快速拥抱AI,实现业务落地和价值创造。立即免费报名参加,前50位参会者还可获精美伴手礼!
|
9月前
|
缓存 Ubuntu Linux
Apt软件包管理工具使用指南
前言 在Linux系统中,apt(Advanced Package Tool)是基于Debian/Ubuntu发行版广泛使用的软件包管理工具之一。它为用户提供了便捷的软件包安装、更新、删除等功能,是管理软件包的重要手段。本文将详细介绍apt的常用命令及其使用方法,帮助用户更好地管理和维护系统中的软件包。
909 2
|
9月前
|
算法 安全 大数据
【算法备案新风向】个人信息保护合规审计来了!关键点全解读
国家网信办发布《个人信息保护合规审计管理办法》,自2025年5月1日起施行。该办法适用于所有在中国境内处理个人信息的主体,特别是处理超1000万人信息的企业需每两年审计一次。触发审计情形包括重大风险、侵害个人权益或大规模信息泄露。企业可自行或委托专业机构审计,报告需报送相关部门。违规将依据《个人信息保护法》处理,严重者追究刑事责任。此举旨在保护个人隐私、规范企业运营,提升公众信任。企业和个人应积极响应,共同营造安全可信的数字环境。
|
10月前
|
机器学习/深度学习 自然语言处理 数据处理
《量子机器学习:构建量子版神经网络模型》
量子计算与机器学习的融合带来了新机遇。量子卷积神经网络利用量子比特的叠加和纠缠特性,高效处理大规模数据,提升特征提取速度与泛化能力。量子循环神经网络则擅长处理复杂序列数据,通过量子比特状态传递信息,增强计算效率。设计量子神经网络需考虑量子比特选择、状态、操作及网络结构,尽管面临外界干扰等挑战,该模型在图像识别、语音识别等领域展现巨大潜力,未来将推动更多创新。
294 7
|
机器学习/深度学习 人工智能 物联网
5G与AI融合:智能网络的新纪元
【10月更文挑战第25天】
600 3
|
负载均衡 持续交付 Docker
Docker的应用场景有哪些?
Docker的应用场景有哪些?
523 6
|
IDE 开发工具 Python
python中语法缩进错误处理
【7月更文挑战第8天】
578 2
|
机器学习/深度学习 自然语言处理 语音技术
|
人工智能 异构计算
PAI GU系列机型发布,高性价比引领AI应用新潮流
PAI GU系列机型发布,高性价比引领AI应用新潮流 随着人工智能技术的不断发展,AI应用已经渗透到了我们生活的方方面面。为了满足广大用户对于AI应用的多元化需求,我国知名AI平台PAI近期推出了全新的General Unit(简称GU)系列规格,首发GU30系列机型。与PAI传统的实例规格相比,同等性能的实例规格价格优惠近45%,并适配不同复杂程度的模型。这一举措将极大地推动AI技术在各个领域的应用与发展。
512 1