正则表达式针对的策略对象是在 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的路由条目。