一、概述
正则表达式(Regular Expression)是一种用于字符串模式匹配的工具,广泛应用于文本搜索、数据验证和字符串替换等场景。在Linux中,正则表达式分为两大类:基础正则表达式(BRE)和扩展正则表达式(ERE)
二、基础正则表达式
元字符:
.
:匹配除换行符之外的任意单个字符[]
:匹配方括号内的任意一个字符,如[a-z]
匹配任意一个小写字母[^]
:匹配不在方括号内的任意一个字符*
:匹配前一个字符零次或多次^
:匹配行的开头$
:匹配行的结尾\
:转义字符,用于匹配特殊字符()
:分组,用于提取匹配的字符串
三、扩展正则表达式
新增内容:
{n}
:匹配前一个字符n次{n,}
:至少匹配n次{n,m}
:匹配n到m次?
:匹配零次或一次+
:匹配一次或多次
四、正则表达式命令
Linux中,以下命令支持正则表达式:
grep
:文本搜索工具,支持正则表达式匹配sed
:流编辑器,用于文本替换和修改awk
:文本分析工具,支持正则表达式处理数据
五、例子
grep结合正则表达式:
bash
grep '^[a-zA-Z]' test.txt # 查找以字母开头的行