### 正则表达式:
>通过一些具有特殊功能的符号,实现对文本的查找,替换,删除等功能。
##### `元符号`
| 符号 | 含义 |
| -------------------- | -------------------- |
| 普通字母、数字、汉字 | 匹配自己 |
| . | 任意一个字符 |
| 【a-z】 | 匹配任意小写字母 |
| 【0-9】 | 匹配任意一个数字 |
| 【a-z0-9A-Z】 | 匹配变量名 |
| 【^0-9】 | 匹配非数字 |
| a\|b | 匹配a或b |
| ^ | 匹配以什么开头的内容 |
| $ | 匹配以什么结尾的内容 |
| ^$ | 匹配空白行 |
| () | 分组匹配 |
##### `量词符号`
| 符合 | 含义 |
| ------- | ---------------------------------------- |
| `*` | 匹配任意次0~∞ |
| `?` | 匹配0或1次,非贪婪模式(尽可能少的匹配) |
| `+` | 匹配1~∞次 |
| ``{n}`` | 匹配n次 |
| `{n,m}` | 匹配n~m次 |
正则案例:
~~~ini
-------------------
#用户名
^[a-zA-Z0-9_-]{4,16}$
#验证 数字、字母、_、-,不包含特殊字符,长度 4-16 之间。
-------------------
#密码强度(宽松)
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
#必须是包含大小写字母和数字的组合,长度在 8-10 之间。
-------------------
#匹配注释行
^#
-------------------
#匹配IP地址
192.168.8.10
([0-9]{1,3}\.){3}([0-9]{1,3})
-------------------
#grep 使用正则
grep -E “([0-9]{1,3}\.){3}([0-9]{1,3})” /etc/【文件目录】
~~~