正则表达式
通过一些具有特殊功能的符号,实现对文本的查找、替换、删除的功能。
常用符号:
元数据符号
符号 |
含义 |
普通字母、数字、汉字 |
匹配自己 |
. |
任意一个字符 |
[a-z] |
匹配a-z任意一个小写字母 |
[0-9] |
匹配0-9任意一个数字 |
[a-zA-Z0-9_] |
匹配变量名 |
[^0-9] |
匹配非数字 |
a|b |
匹配a或b |
^ |
匹配以什么开头的内容 |
$ |
匹配以什么结尾的内容 |
^$ |
匹配空白行 |
( ) |
分组匹配 |
量词符号
符号 |
含义 |
* |
任意次,包含0~∞次 |
? |
匹配0次或1次,表示非贪婪模式(尽可能少的匹配) |
+ |
匹配1次到∞次 |
{n} |
匹配n次 |
{n,m} |
匹配n次~m次 |
**正则案例:**
# 用户名
^[a-zA-Z0-9_-]{4,16}$
# 匹配ip地址
192.168.8.102
([0-9]{1,3}\.){3}([0-9]{1,3})
# 匹配空白行
^$
# 匹配注释行
^#
# grep使用正则,反向过滤空白行与注释行
grep -Ev “^$|^#” /etc/passwd