Linux提升篇-正则表达式


前言

今天要分享的内容是正则表达式,完美掌握正则表达式,才能更好地使用"三剑客"来完成一些脚本的编辑和处理复杂的数据输出。

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

在 Linux 中,正则表达式是一种强大的文本匹配工具,它允许您按照某种模式来搜索、匹配和处理文本。正则表达式通常用于命令行工具如 grep、sed、awk 以及编程语言如 Python、Perl 和 JavaScript 中。


一、基本正则表达式

基本正则表达式主要符号有5个,分别是:^ $ . [] *

基本正则表达式(BRE)集合

符号含义
^^a,匹配以a开头的行
$x$,匹配以x结尾的行
^$匹配空行
.匹配任意一个且只有一个字符
\转义字符
*匹配前一个字符0次或1次以上
.*匹配所有内容
^.*匹配多个字符开头的所有内容
.*$匹配以多个字符结尾的内容
[abc]匹配集合内的任意一个字符
[^abc]表示对[abc]的取反

二、扩展正则表达式

扩展正则表达式符号在基础正则表达式的基础上增加了5个,分别是:+ ? | {} ()

扩展正则表达式(ERE)集合

符号含义
+匹配前一个字符一次或多次
[abc]+匹配方括号内的a或b或c一次或多次
?匹配前一个字符串0次或1次
|表示或者,同时过滤多个字符串
()分组过滤,被括起来的内容表示一个整体
a{n,m}匹配前一个字符最少n次,最多m次
a{n}匹配前一个字符串正好n次
a{n,}匹配前一个字符串最少n次
a{,m}匹配前一个字符串最多m次

总结

有一个比较简单的记忆方法就是,记住正则表达式的基础符号,然后再组合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秣宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值