一、前言
正则表达式,是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。 正则表达式是由普通字符与元字符组成的文字模式。 正则表达式一般用于脚本编程与文本编辑器中。
二、基础正则表达式
根据不同的严谨程度与功能:分为基本正则表达式与扩展正则表达式。基础正则表达式是常用的正则表达式的最基础的部分。在 Linux 系统中常见的文件处理工具中 grep 与 sed 支持基础正则表达式egrep 与 awk 支持扩展正则表达式。
2.1、grep命令
2.1、查找特定字符
-n :表示显示行号-i :表示不区分大小写-v : 表示反方向查找

grep 中正则表达式指定只有一位数字 grep正则表达式\d_字符串

grep 中正则表达式指定只有一位数字 grep正则表达式\d_grep 中正则表达式指定只有一位数字_02


如果是想查找不包含the的行,-vn选项即可:

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_03

中括号 [ ] 集合字符
当我们需要查找两个字符 “shirt” 和 “short” 这两个字符时,其中 i 和 o 都是相同的.可以用 [ ]来匹配字符,[ ] 中不论有几个字符,都仅代表一个字符

grep 中正则表达式指定只有一位数字 grep正则表达式\d_字符串_04

查找包含重复单个字符“oo”

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_05

集合字符的反向选择可以通过“[^]”实现 在 /etc/passwd文本中查找“oo” 前面不是“w”的字符串

grep 中正则表达式指定只有一位数字 grep正则表达式\d_字符串_06


检索“oo”前面不存在大小写字母的字符串

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_07


查找包含数字的行

grep 中正则表达式指定只有一位数字 grep正则表达式\d_字符串_08


2.2、元字符总结

grep 中正则表达式指定只有一位数字 grep正则表达式\d_元字符_09


三、扩展正则表达式

3.1、egrep命令

使用基础正则表达式查询除文件中空白行与行首为“#” 之外的行(通常用于查看生效的配置文件)

grep 中正则表达式指定只有一位数字 grep正则表达式\d_grep 中正则表达式指定只有一位数字_10


使用扩展正则表达式

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_11


3.2、扩展正则表达式常见元字符

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_12


3.3、正则表达式总结

grep命令都可以使用egrep实现 grep ‘o\ {2\ }’ /etc/passwd # 特殊符号需要用脱意符号\,不然无法识别 egrep ‘o{2}’ /etc/passwd # 用egrep命令,不需要脱意,{}表示前边字符的重复范围

grep命令:

grep 中正则表达式指定只有一位数字 grep正则表达式\d_正则表达式_13