正则表达式(Regular EXPression) REGEXP
功能 | 操作符 | 功能 | 示例 |
---|
元字符 | . | 匹配任意单字符 | grep --color “a.” 2正则表达测试 |
| [ ] | 匹配范围内的任意单个字符 | grep --color “a[b,c]” 2正则表达测试 |
| [^] | 匹配范围外的任意单个字符 | grep --color “a[^b]” 2正则表达测试 |
匹配次数 | * | 匹配前面字符任意次(0次或多次) | grep --color “ab*” 2正则表达测试 |
| \? | 匹配器前面的字符0次或1次 | grep --color “ab\?” 2正则表达测试 |
| \{m,n\} | 匹配前面的字符至少m次,至多n次 | grep --color “ab\{1,2\}” 2正则表达测试 |
位置锚定 | ^ | 锚定行首 | grep --color “^ab” 2正则表达测试 |
| $ | 锚定行尾 | grep --color “a$” 2正则表达测试 |
| ^$ | 空白行 | grep --color “^$” 2正则表达测试 |
单词锁定 | \b或\< | 后面的任意字符必须作为单词首部出现 | grep --color “\<he” 2正则表达测试 |
| \b或\> | 后面的任意字符必须作为单词尾部出现 | grep --color “world\>” 2正则表达测试 |
分组 | \(ab\)* | 表示ab可出现一次或任意次 | grep --color “(ab)*” 2正则表达测试 |
| \1 | 调用第一个左括号与之对应所包括的所有内容 | |
功能分类 | 操作符 | 功能 | 示例 |
---|
字符匹配 | .、[]、[^] | 同上 | |
次数匹配 | *,? | 同上 | |
| + | 其前面的字符最少一次 | egrep --color “ab+” 2正则表达测试 |
| {m,n} | 匹配前面的字符至少m次,至多n次(可直接使用) | egrep --color “a{1,2}” 2正则表达测试 |
位置锚定 | ^,$,\<.\> | 同上 | |
分组 | () | 可直接使用 | egrep --color “a(b)” 2正则表达测试 |
或者 | | | 或者 | egrep --color “ab|ac” 2正则表达测试 |
-
文本查找指令(grep,egrep,fgrep)
-
grep(Gobal Research) --根据模式去搜索文本,并行显示
grep [options] “模式/字符串” 参数
选项 | 功能 |
---|
-i | 忽略大小写 |
–color | 匹配内容颜色显示 |
-v | 反向查找,不匹配的显示 |
-o | 只显示被匹配到的字符串 |
-E | 使用扩展正则表达式 |
-A n | 表示匹配行下的n行显示 |
-B n | 表示匹配行前n行显示 |
-C n | 表示匹配行的上下n行显示 |
grep命令支持基本正则表达式,并工作在贪婪模式
egrep命令支持扩展正则表达式,并工作在贪婪模式
fgrep命令不支持正则表达式,并工作在贪婪模式
正则表达式检测ipv4的有效性
ifconfig | egrep --color "\<[1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3]\>(\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>){2}\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>"