BRE(基础正则表达式):
^ 匹配行首
$ 匹配行尾
. 匹配任意单个字符
* 匹配0个或者多个字符
[] 匹配括号内的字符
[^] 匹配不包含^后的任意字符
BRE(基础正则表达式)只承认的元字符有^$.[]* 其他字符识别为普通字符。
ERE (扩展正则表达式)则添加了() {} ? + | 等。
只有在用反斜杠“\”进行转义的情况下,字符() {}才会在BRE被当作元字符处理,而BRE中,任何元符号前面加上反斜杠反而会使其被当作普通字符来处理。
ERE(扩展正则表达式)
() 分组过滤被括起来的东西表示一个整体(一个字符) --》对应的BRE形式为: \(\)
| 表示或者同时过滤多个字符
? 重复前面一个字符0次或1次(.是有且只有1个) --》对应的BRE形式为: \?
+ 重复前一个字符一次或多次,至少一次 -》对应的BRE形式为: \+
{} 用于表示重复匹配的次数 -》对应的BRE形式为: \{\}
grep 常见正则表达式
| 1 2 3 4 5 6 7 8 9 10 11 12 13 |

本文介绍了Linux中的基础正则表达式(BRE)和扩展正则表达式(ERE),并详细讲解了grep命令如何配合正则表达式进行文本匹配。BRE仅包含^$.[]*作为元字符,而在ERE中增加了() {} ? + |等。grep默认使用BRE,若要使用ERE,需通过或使用egrep。示例中展示了如何匹配特定模式的行,如含有连续两个o的行、以Love或love开头的行以及good或glad的行。
最低0.47元/天 解锁文章
298

被折叠的 条评论
为什么被折叠?



