基础使用

begin //表示从该字符开始匹配

举例:
image.png

exclude //表示匹配除后续字符之外的内容

举例:
image.png

include //表示只匹配含后续字符的语句

举例:
image.png

进阶使用

.的使用

匹配任何一个字符,包括单个字符、特殊字符和空格

在使用匹配信息时,输入匹配两个以上字符,会提示不支持。
举例:
只显示出设备中配置的静态路由信息
image.png
通过上述命令会发现无法同时匹配两个字符,可以通过dis cu | include ip.route来查看预期信息。
image.png
由此举一反三
dis cu | inc mac-address.blackhole
image.png
dis cu | inc arp.static
image.png

*的使用

表示匹配*前面的字符或者字符组零次或者多次

结合下面的使用一同举例

的使用

替换,类似or的意思。

如果我们需要显示的信息非一行,如何对不同行内容进行不同匹配。
image.png
如上图,通过display version命令可以得到大量回显内容,如果我们只需要显示版本信息及各版本的运行时间,可以通过dis version | include uptime|Software|Chassis|Uptime快速得到有效信息。
image.png
举例2:
有时我们想快速知道设备上配置了多少三层接口以及ip地址。可能你想到了display interface brie
image.png
该命令非常好用,还能看到接口启用状态,但也存在缺陷,无法得知接口下是否配置了sub地址。
通过.的结合使用,dis cu | include interface.Vlan|ip.address可以得到接口及接口下配置的所有ip。如果要匹配物理端口,同理添加interface.Gig|interface.Ten即可,可以自己测试看看
image.png

^的使用

表示强制匹配行首 举例1: 我们想查看7号板卡的端口状态信息。通过display interface Ten-GigabitEthernet brief 可以发现还是会回显出7号板卡之外的其他板卡信息。

image.png
通过强制行首字符匹配,display interface Ten-GigabitEthernet brief | include ^XGE1/7
可以只查看7号板卡端口信息。
image.png

语法实践

  1. dis logbuffer reverse | include .shutdown.|.warning.|.error.|.failed.

实际效果:
image.png

  1. dis interface | include ^Ten|^Bri|^Gig|^Vlan|[1-9].input.errors|[1-9].output.errors

实际效果:
image.png

正则表达式语法速览

语法内容 语法效果
dis cu | include ip.route 查看配置的静态路由信息
dis cu | inc mac-address.blackhole 查看黑洞mac配置清单
dis cu | inc arp.static 查看静态arp表项
dis version | include uptime|Software|Chassis|Uptime 查看版本信息及各板卡运行时长
dis cu | include interface.Vlan|interface.Gig|interface.Ten|ip.address 查看接口及接口下ip
display interface Ten-GigabitEthernet brief | include ^XGE1/7 查看指定板卡接口信息
dis logbuffer reverse | include .shutdown.|.warning.|.error.|.failed. 查看日志中严重告警
dis interface | include ^Ten|^Bri|^Gig|^Vlan|[1-9].input.errors|[1-9].output.errors 只显示带错误包的接口