正则表达式针对的策略对象是在 show ip bgp 后显示的As-Path,其中'' i ''在最后不做考虑,从左到右依次显示第一跳到达目的地经过的As-Path,所以最右边的As就是发起这条路由的源As,最左边的As就是本地到达目的地的第一跳As。
^ 开始符 $ 结束符 ? 匹配一个字符 * 匹配任意字符(包括空)
+ 匹配任意字符(不包括空) . 匹配任意字符(包括空格) _ 连接符
^ 标志一个表达式的开始,如果不用这个字符,那么默认就没有开始的限制。如:当使用 permit ^254,那么意思就是第一跳AS为254的路由全部都允许。
permit 254 ,只要经过AS 254的路由全部都允许,其实和 permit _254_ 表达的意思相同。
$ 标志一个表达式的结束,如果不用这个字符,那么默认就没有结束的限制了。
permit 254$,那么表示的意思就是起源于AS 254的路由全部接受。
? 标志匹配前面的一个字符,注意:只是匹配一个字符。? 允许前面的字符出现一次或者是空。
permit 254[0-9]?$,只匹配起源于AS 254/2540---2549的路由
(注意?在CISCO路由器上用CTRL-V来替代)
* 标志匹配前面的一个字符,注意 * 和 ? 有不同,* 允许前面的字符出现许多次或者是空,而 ? 只允许匹配出现一次或者是空。
permit 254[0-9]*$,只匹配起源于AS 254/2540--25499999... 的路由。
permit 254[5-9],匹配起源自AS 254/2545--2549/25455--25459
+ 和 * 的区别就是*可以匹配空,但是+必须匹配一个值才行
permit ^254+$,表示起源于254或者2544/25444...
permit ^254*$ 则可以匹配起源于AS 25/254/25444。
. 标志匹配任意一个字符,包括空格
permit .* 表示匹配所有的路由。
CIE认证交流,CCNP认证交流,CCNA认证交流C\pxD'~S9s
_ 表示两个AS之间的连接符
permit ^254_253_252$,表示起源于252,经过253和254的路由条目。
转载于:https://blog.51cto.com/steven24/91184