关于正则表达式第四篇(r3笔记第53天)
时间:2022-05-04
本文章向大家介绍关于正则表达式第四篇(r3笔记第53天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
正则表达式,林林总总说了几篇,还是有不少的内容需要补充。 -->星号 字符出现0次或者多次
$ echo "ik"|sed -n '/e*/p'
ik
$ echo "ieek"|sed -n '/e*/p'
ieek
$ echo "This is a color TV"|sed -n '/colou*r/p' --colour中的u可以出现0次或者多次。出现0次的时候color就符合条件
This is a color TV
$ echo "This is a colour TV"|sed -n '/colou*r/p' --colour中的u可以出现0次或者多次。出现1次的时候colour就符合条件
This is a colour TV
-->星号+点字符 星号和点字符的结合
$ echo "This is a nice hat"|sed -n '/a.*hat/p'
This is a nice hat
-->星号+字符组
$ cat c.txt
bt
bat
bet
btt
batt
baaeeat
bakeat
$ sed -n '/b[ae]*t/p' c.txt
bt
bat
bet
btt
batt
baaeeat
扩展表达式有以下几种,在linux中对于grep,awk都是支持的。 问号 花括号 管道符号 聚合表达式 -->问号 字符出现0次或者1次
$ cat c.txt
bt
bat
bet
btt
batt
baaeeat
bakeat
$ sed -n '/b[ae]*t/p' c.txt
bt
bat
bet
btt
batt
Baaeeat
$ awk '/b[ae]?t/{print $0}' c.txt --匹配0次或者1次的时候,Baaeeat 怎么也匹配不到[ae]相关的组合。
bt
bat
bet
btt
batt
-->加号 字符出现1次或者多次,这个和问号有些类似。但是对于出现的频率会有不同。问号是0次或者一次,星号是0次或者多次。
$ awk '/b[ae]+t/{print $0}' c.txt
bat
bet
batt
baaeeat
-->花括号 m 正则表达式准确出现m次 m,n 正则表达式至少出现m次,至多n次 默认awk不会识别正则表达式区间,需要指定--re-interval 选项
$ echo "bat"|awk '/b[ae]{1}t/{print $0}'
echo "bat"|awk --re-interval '/b[ae]{1}t/{print $0}'
bat
$ cat c.txt
bt
bat
bet
btt
batt
baaeeat
bakeat
$ awk --re-interval '/b[ae]{1,2}t/{print $0}' c.txt
bat
bet
batt
$ cat d.txt
the cat is asleep
the dog is asleep
the sheep is asleep
$ awk '/cat|dog/{print $0}' d.txt
the cat is asleep
the dog is asleep
-->聚合表达式
$ echo "Sat"|awk '/Sat(urday)?$/{print $0}'
Sat
$ echo "Satx"|awk '/Sat(urday)?$/{print $0}'
$ echo "Saturday"|awk '/Sat(urday)?$/{print $0}'
Saturday
$ echo "Saturdayurday"|awk '/Sat(urday)?$/{print $0}'
$ echo "cat"|awk '/(c|b)a(b|t)/{print $0}'
cat
$ echo "tab"|awk '/(c|b)a(b|t)/{print $0}‘
$ echo "tac"|awk '/(c|b)a(b|t)/{print $0}'
- TensorFlow中常量与变量的基本操作演示
- 如何写出好的 JavaScript —— 浅谈 API 设计
- 分析DAO的漏洞
- Phoenix - Hbase与SQL
- 2018年,让你的数据库变更快的十个建议
- Hadoop如何使用Zookeeper来保障高可用?
- HTTP 压力测试工具 wrk
- 理解 Linux shell 中的一个方言:2>&1
- 大家知道什么是git中的 .gitignore吗?
- MySQL 8.0 新特性 :隐藏索引 Invisible Indexes
- 如何监控MySQL的复制延迟?
- Uber 的 Docker Mysql 应用
- Dubbo源码-从HelloWorld开始
- 【深度学习】用PaddlePaddle进行车牌识别(二)
- 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 数组属性和方法
- spring boot 如何统一处理 Filter、Servlet 中的异常信息
- 10分钟理解Focal loss数学原理与Pytorch代码(翻译)
- 十分钟了解受控文本生成 1
- 数据库系统设计概述
- Java基础篇(03):流程控制语句,和算法应用
- 09 | Tornado源码分析:Future 对象
- 面向对象的7种设计原则(4)-合成/聚合复用原则
- Netty之异步通知机制
- 面向对象的7种设计原则(3)-依赖倒置原则
- Java实现旅行商最短距离
- 不是吧,阿Sir啊,可不可以不用再写finally?
- 整理得吐血了,二叉树、红黑树、B&B+树超齐全,快速搞定数据结构
- 牛客网-最小的k个数
- 牛客网-栈的压入、弹出序列
- 牛客网-对称二叉树