注意事项:正则符号都是英文
1. 符号 概述
正则表达式 | 符号 |
基础正则 | ^ $ . * .* [] [^] |
扩展正则 | | + () {} ? |
其他类正则 |
2. 基础正则-grep/egrep
- 环境准备
I am teacher!
I teacher linux.
I like badminton ball,billiard ball and chinese chess!
my blog is https://51cto.com
my qq is 99999000111
not 4900000
my god ,i am not gril,but oldboy
2.1 ^ 以……开头的行
- 以I开头的行
$ grep '^I' re.txt
I am teacher!
I teacher linux.
I like badminton ball,billiard ball and chinese chess!
2.2 $ 以……结尾的行
- 以数字1结尾的行
$ grep '1$' re.txt
my qq is 99999000111
- 找出文件中以字母m结尾的行
cat -A 显示出文件中的特殊隐藏符号.
2.3 ^$ 空行,这行中没有任何字符
- 过滤出文件中的空行并显示行号
- 排除空行
应用建议:用于排除文件中的空行使用,排除空行和带#号的行。
2.4 . 任意一个字符
- oldb任意一个字符y
了解: . 过滤的时候排除空行. 点不会匹配空行
2.5 \撬棍 转义字符 脱掉马甲打回原形,去掉特殊符号的含义
- 找出文件中以.(点)结尾的行
Administrator@SYS191022J0 MINGW64 /d/rgq/linux
$ cat -An re.txt
1 $
2 I am teacher!$
3 I teacher linuxi. $
4 I like badminton ball,billiard ball and chinese chess! $
5 my blog is https://51cto.com $
6 $
7 my qq is 99999000111.$
8 not 4900000.$
9 my god ,i am not gril,but oldboy $
10 $
Administrator@SYS191022J0 MINGW64 /d/rgq/linux
$ grep '.$' re.txt
I am teacher!
I teacher linuxi.
I like badminton ball,billiard ball and chinese chess!
my blog is https://51cto.com
my qq is 99999000111.
not 4900000.
my god ,i am not gril,but oldboy
Administrator@SYS191022J0 MINGW64 /d/rgq/linux
$ grep '\.$' re.txt
my qq is 99999000111.
not 4900000.
在扩展正则中\撬棍,唤醒前世记忆从而含有特殊含义
2.6 * 前一个字符连续出现0次或0次以上
- 这个符号刚开始学习正则的时候,不常用。
- 刚刚开始的时候掌握:什么叫连续出现即可。