关于正则表达式第三篇(r3笔记第52天)
时间:2022-05-04
本文章向大家介绍关于正则表达式第三篇(r3笔记第52天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在正则表达式中,还有很多的内容值得学习。 之前的两篇中列举了很少的一部分。没有做更多的分析。 -->字符组 下面的例子可以根据字符组来灵活匹配。比如输入了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 --筛选大写字母
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- API——注册表读取
- VBA操作注册表
- VBA快速提取引用工程的代码
- NuGet 如何设置图标
- VBA解析VBAProject 00
- Echarts图表宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!
- Vim 基础和常用命令整理
- TinyMCE 优化百度地图 bdmap 插件
- 更新!万字长文带你拿下九大排序的原理、Java 实现以及算法分析
- mysql 同一张表查询 left join
- uni-app运行到浏览器跨域H5页面的跨域问题解决方案
- 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)
- 树状数据库表查询2次以上(自连接、内连接、别名)方法
- 网页背景H5视频自动播放---PC端、移动端兼容问题完美解决方案(IOS、安卓、微信端)
- 【STM32F407】第11章 RL-TCPnet V7.X之TCP服务器