【RHCA+】扩展正则表达式

" 目录:RHCA+ -> 4 正则表达式 -> 53 扩展正则表达式 "

POSIX扩展正则表达式(ERE,Extended REGEXP)引擎

语法特点:ERE对元字符的处理更加直观和灵活,不需要像BRE那样频繁地使用反斜杠进行转义。例如,在ERE中,*、?、+、|、()等元字符直接就可以表示其特殊含义。

用途:由于语法上的简化,ERE在现代文本处理工具中更受欢迎。许多工具(如grep的-E选项)都支持ERE语法。

字符匹配都相同:.、\[\]、\^

次数匹配、分组不用加\:*、?、+、{m,n}、()

位置锚定都相同:^、$、<、>

新增or匹配:|

|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 字符 | 作用 |
| {n} | 匹配前面的字符n次 |
| {,n} | 匹配前面的字符至多n次 |
| {n,} | 匹配前面的字符至少n次 |
| {n,m} | 匹配前一个字符重复n到m次,等同于 \{n,m\} |
| + | 匹配前一个字符出现1次或多次 |
| ? | 匹配前一个字符出现0次或1次 |
| | | 逻辑或,or,匹配前面或后面字符 |
| ( ) | 将 ( 和 ) 之间的内容为一个分组存储到保留空间,最多存储9个 \n:通过 \1 到 \9 调用保留空间中存储的内容,反向引用 \1:表示从左侧起第1个左括号以及与之匹配右括号之间的模式所匹配到的字符 \2:表示从左侧起第2个左括号以及与之匹配右括号之间的模式所匹配到的字符,以此类推 \&:表示前面的分组中所有字符 |

root@wuzuniao \~# cat -n a.txt #创建文件

1 a

2 b

3 c

4 1

5 2

6 3

7 11

8 22

9 33

10 1a

11 2b

12 3c

13 dddd

root@wuzuniao \~# egrep '1{1,2}' a.txt #匹配1出现1次或2次的行

1

11

1a

root@wuzuniao \~# egrep '2+' a.txt #匹配2出现1次或多次的行

2

22

2b

root@wuzuniao \~# egrep '(a|d)' a.txt #匹配有字母a或d的行

a

1a

dddd

root@wuzuniao \~#

相关推荐
寒水馨6 小时前
Linux下载、安装 Codex CLI(附安装包codex-x86_64-unknown-linux-musl.tar.gz)
linux·openai·终端·ai编程·codex·智能体·codex cli
冰封之寂15 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
xiaoye-duck15 小时前
《Linux系统编程》Linux 系统多线程(五):<线程同步与互斥>线程互斥(上):从条件变量到生产者消费者模型详解
linux·线程
一叶龙洲17 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
酷可达拉斯18 小时前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
寒水馨18 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
我星期八休息21 小时前
网络编程—UDP与TCP
linux·运维·网络·数据库·网络协议·tcp/ip·udp
ziguo112221 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
三8441 天前
使用Samba/NFS实现文件共享/自动挂载共享目录/autofs自动挂载服务
linux·服务器·网络
高铭杰1 天前
万物皆可KV(2)SurrealDB 存储布局分析
linux·服务器