当前位置: 首页 > news >正文

【RHCA+】基本正则表达式

“ 目录:RHCA+ -> 4 正则表达式 -> 52 基本正则表达式 ”

POSIX基本正则表达式(BRE,Basic REGEXP)引擎

语法特点:在BRE中,元字符(如*、?、+、|、()等)在默认情况下不具有特殊含义,而是被当作普通字符处理。要使这些字符具有特殊含义,通常需要在它们前面加上反斜杠\进行转义。

用途:尽管功能相对有限,但BRE是许多早期Unix工具(如grep的默认模式)的基础。

字符

作用

a

精准匹配字母a(其他字母同例)

.

任意单个字符,且只能是一个字符;不匹配空行

*

匹配前一个字符零次或多次;默认贪婪模式:尽可能长地匹配

.*

匹配任意字符出现任意次数

\?

匹配前面的字符0或1次

\+

匹配前面的字符至少1次

[]

匹配集合内单个字符,中括号内为集合

[a-z]

匹配连续的字符串范围

[^]

否;对中括号内的集合取反

^

匹配字符串的开头

$

匹配字符串的结尾

^$

空行

^[[:space:]].*$

空白行

^PATTERN$

匹配整行

\< 或 \b

词首锚定,\b放单词模式的左侧

\> 或 \b

词尾锚定;\b放单词模式的右侧;例:\

\

匹配转义后的字符

\{n\}

匹配前一个字符重复n次

\{n,\}

匹配前一个字符至少重复n次

\{,n\}

匹配前面的字符至多n次

\{n,m\}

匹配前一个字符重复n到m次

\(\)

将 \( 和 \) 之间的内容为一个分组存储到保留空间,最多存储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 ~]# grep b a.txt #过滤包含字母b的行

b

2b

[root@wuzuniao ~]# grep d..d a.txt #过滤有四个字符的字符串,其中开头和结尾必须是字母d,中间两位任意字符

dddd

[root@wuzuniao ~]# grep --color 11* a.txt #过滤出至少包含一个1的行,第二个1可出现零次或多次

1

11

1a

[root@wuzuniao ~]# grep --color [3-5] a.txt #匹配包含数字3-5这个范围内的行

3

33

3c

[root@wuzuniao ~]# grep --color [c-d] a.txt #匹配包含字母c-d这个范围的行

c

3c

dddd

[root@wuzuniao ~]# grep --color ^b a.txt #匹配以b字母开头的行

b

[root@wuzuniao ~]# grep --color c$ a.txt #匹配以c字母结尾的行

c

3c

[root@wuzuniao ~]# grep --color 1[^$] a.txt #匹配以1开头,后续跟了其他字符的行;也就是这里把结束符排除掉了

11

1a

[root@wuzuniao ~]# grep --color 1[^1$] a.txt #匹配以1开头,后面不跟1和结束符的行

1a

[root@wuzuniao ~]# grep --color '3\{1,2\}' a.txt #匹配数字3出现过1次到2次的行

3

33

3c

[root@wuzuniao ~]# grep --color "\(2\).*\1" a.txt #匹配2出现2次的行;中间匹配任意字符,前后各匹配一次2

22

[root@wuzuniao ~]# grep --color "\(d\)\(d\).*\2\1" a.txt #匹配包含两个dd的行

dddd

[root@wuzuniao ~]# grep --color ^$ a.txt #匹配空白行

[root@wuzuniao ~]# grep -v --color ^$ a.txt #匹配非空白行;这里的--color参数也会取反,不显示颜色

a

b

c

1

2

3

11

22

33

1a

2b

3c

dddd

[root@wuzuniao ~]#

http://www.jsqmd.com/news/1135478/

相关文章:

  • 2026年暑期 AI 简历工具推荐:毕业生求职必备
  • 十七.读写区块索引(上)
  • OpenCore Legacy Patcher:一场针对苹果硬件生态的技术革命与架构重构
  • 如何为QQNT桌面客户端部署LiteLoader插件加载器
  • C语言从入门到精通 第2讲——数据类型和变量
  • Qwt 7.0 新特性介绍 — 更现代、更强大的Qt数据可视化库
  • 注意力塑造现实
  • Tetris Game核心功能解析:从手动操作到AI自动决策的完美切换
  • PIC18F46K40与171010550构建数字DC-DC降压系统
  • 第9课:比较运算符与if 判断语句
  • OpenClaw 安装使用指南 (Windows)-对接钉钉、飞书、QQ
  • 五大神经网络模型原理与实战:CNN、RNN、GAN、Transformer、GNN选型指南
  • 读普林斯顿计算机公开课14未来
  • 图像增强 Gamma 校正:从原理到调参,3 个关键参数优化指南
  • 高性能异步网络架构与多线程下载管理:EhViewer技术实现深度解析
  • MultiPathNet核心原理解析:为什么多路径网络能提升目标检测精度?
  • 系统运行与维护核心知识梳理
  • Grafana Infinity Datasource:解锁多源数据可视化新维度
  • Linux命令小全
  • STM32开发
  • 4.prompt
  • BI笔记之---增量方式处理多维数据集
  • 可靠性测试之 EMC:一文搞懂所有测试项和标准
  • OpenClaw 的分布式集群功能
  • CVE-2023-4966漏洞深度解析:NetScaler信息泄露原理与修复实战
  • 代理浏览器工具_agent-browser
  • 从向量空间到海森矩阵:剥开神经网络“寻底”的数学真相
  • Si4731与PIC18LF4680构建数字收音机系统详解
  • Wexflow图像处理自动化:批量处理、转换和优化的实用技巧
  • YOLOv8麻将识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)