關於正則表達式

最近公司又開始上BGP業務了,裏面涉及到很到關於IP地址過濾的策略,所以,我又必須複習一下表達式的使用:

^  標誌一個表達式的開始(最帖近本地AS,AS排列是從左往右讀取的)
$  標誌一個表達式的結束(離本地最遠的)
? 標誌匹配前面的一個字符,注意:只是匹配一個字符。?允許前面的字符出現一次或者是空
* 標誌匹配前面的一個字符,注意,和?不同的是,*允許前面的字符出現許多次或者是空,而?只允許匹配出現一次或者是空。
+和*的區別就是*可以匹配空,但是+必須匹配一個值才行如permit ^254+$,表示起源於254或者2544/25444........而permit ^254*$則可以匹配起源於AS 25/254/25444。
句號  .標誌匹配任意一個字符,包括空格,如:當我們使用permit .*的時候,表示匹配所有的路由。
_ 表示兩個AS之間的連接符,如:permit ^254_253_252$, 表示起源於252,經過253和254的路由條目。

舉例:
^$     從本as起源的路由,即as爲空
^2_   所有從直接相連的位於as 2的鄰居來的路由
^2$   源於as2中的鄰居路由
_3_   包含as 3的路由
{1 2}  使用as-set 選項聚合路由,從as 1和as 2來的路由形成聚合
(65530)  與對等體形式聯盟,該對等體在as 65530

使用正則表達式查看路由
Show ip bgp regular ^$  查看所有本地路由
Show ip bgp reg _9394$
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章