什么是正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

基本匹配

在搜索时直接输入想要搜索的字母数字或字符,例如:

1
2
3
4
$ cat regtest.txt
$ The fat cat sat on the mat
$ grep -o 'the' regtest.txt
$ the

元字符

元字符 描述
. 句号匹配任意单个字符除了换行符
[] 字符种类,匹配方括号内的任意字符
[^] 否定的字符种类,匹配除了方括号里的任意字符
* 匹配>=0个重复的在*号之前的字符
+ 匹配>=0个重复的在*号之前的字符
? 标记之前的字符为可选的
{n,m} 匹配n至m个大括号之前的字符或者字符集
(abc) 字符集,匹配与abc一样的字符串
\ 转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^ 从开始行开始匹配
$ 从末端开始匹配

点运算符 .

.是匹配任意单个字符,但不匹配换行符

1
2
3
4
5
$ grep -o '.at' regtest.txt
$ fat
$ cat
$ sat
$ mat

字符种类 []