Linux正则表达式-元字符

我们已经看过了表达式中的两个基本元素:
1.以一个字面值或变量表示的值。
2. 一个操作符。
正则表达式是由这些相同的元素组成的。除元字符除外,都被解释为只匹配它本身的字面值。
元字符汇总

特殊字符 用途
. 匹配除换行符以外的任意单个字符。在awk 中,句点也能匹配换行符。
* 匹配任意一个(包括零个)在它面前的字符(包括由正则表 达式指定的字符)
[...] 匹配方括号中的字符类中的任意一个。如果方括号中第一个字符为脱字符号(^),则表示否定匹配,即匹配除了换行符和类中列出的那些字符以外的所有字符。在awk 中,也匹配换行符。连字符(-)用于表示字符的范圈。如果类中的第一个字符为右方括号(] )则表示它是类的成员。所有其他的元字符在被指定为类中的成员时都会失去它们原来的含义
^ 如果作为正则表达式的第一个字符,则表示匹配行的开始。在awk 中匹配字符串的开始,即使字符串包含嵌入的换行符。
$ 如果作为正则表达式的最后一个字符,则表示匹配行的结尾。在awk中匹配字符串的结尾,即使字符串包含嵌入的换行符。
\ {n, m\} 匹配它前面某个范围内单个字符出现的次数(包括由正则表达式指定的字符)。\ {n\} 将匹配n次出现, \ {n, \}至少匹配n次出现,而且\ {n, m\} 匹配n和m之间的任意次出现。(只有sed 和grep 的一些非常旧的版本中不能使用)。
\ 转义随后的特殊字符。

扩展的元字符(egrep和awk)

特殊字符 用途
+ 匹配前面的正则表达式的一次或多次出现
? 匹配前面的正则表达式的零次或一次出现
| 指定可以匹配其前面的或后面的正则表达式(替代方案)
() 对正则表达式分组
{n,m} 匹配它前面某个范圈内单个字符出现的次数(包括由正则表达式指定的字符) 。 { n }表示匹配n次出现, {n,}至少匹配n次出现, { n, m} 匹配n和m之间的任意次出现。(用于POSIX 的egrep 和POSIX awk而不是传统的egrep 或awk)

元字符在正则表达式中有特殊的含义,与+和*在算术表达式中具有特殊含义的方式相同。有些元字符(+?()|)只有作为由程序(例如egrep和awk)使用的扩展集的一部分时才可用。在一下几节中我们将介绍每个元字符的用法,首先从反斜杠开始介绍。


参考资料:http://www.linuxawk.com/communication/398.html

Linux正则表达式使用元字符来匹配字符串。元字符是构成正则表达式的基本元素,可以用来查找符合要求的字符串。在Linux中,常见的元字符有以下几种: 1. `.` : 匹配任意一个字符,除了换行符。 2. `*` : 匹配前面的字符零次或多次。 3. `^` : 匹配字符串的开头。 4. `$` : 匹配字符串的结尾。 5. `[]` : 匹配方括号内的任意一个字符。 6. `|` : 匹配两个或多个模式中的任意一个。 7. `\` : 转义字符,用于匹配特殊字符,例如`\.`可以匹配点号本身。 8. `{}` : 匹配前面的字符指定的次数,例如`[0-9]{2,4}`可以匹配2到4个数字。 9. `()` : 用于分组,可以改变匹配的优先级。 这些元字符可以组合搭配使用,构造出更复杂的正则表达式,以匹配我们想要查找的字符串。在使用grep命令时,可以通过-E参数启用扩展正则表达式,使得最后三种元字符不需要在大括号前面添加转义符号。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux 正则表达式元字符](https://blog.csdn.net/weixin_40228200/article/details/120822574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值