|
正则表达式
符号
匹配内容
.
任何单个字符,包括空格
[ ]
在方括号中罗列的任何字符
[^ ]
除了在方括号中所罗列字符外的任何字符(^ 必须放在字符列表
之前)
-
中划杠(连字符)匹配两个字符之间的任意字符
?
匹配出现0次 或1次(选择替代0次或1次)
*
匹配出现0次 或多次
+
匹配出现1次 或多次
^
字符串的开始,启始符
$
字符串的结束,结束符
|
分割符,分割符号的任何1个都可以[1|2]
_
下划线,匹配一个逗号,行的开始,行的结束或空格,匹配的东
西更多相比 ^ 和$
例子:
ip as-path access-list 20 permit 850
该过滤器匹配任何包含字符串850的AS_PATH。匹配的As_PATH例如:(850),(23,5,850,155)和 (3568,5850,310)等。无论所匹配的串是属性中唯一的
串或者属性中多个AS号中的一个,甚至是属性中一个很大的AS号中的一部分,该
匹配都成功。
假设你想只匹配包含唯一AS号850的AS_PATH,你必须描述行的开始和结束,使用
补字号(^)匹配行的开始,美圆符($)匹配行的结束。
ip as-path access-list 20 permit ^850$
只匹配 AS 号 850
ip as-path access-list 21 permit ^$
正则表达式匹配行的开始紧接行的结束;匹配本地AS
ip as-path access-list 22 permit ^85[0123459]$
匹配包含单一AS号850,851,852,853,854,855或859的AS_PATH。
ip as-path access-list 23 permit ^85[0-5]$
上述过滤器匹配包含单一AS号850,851,852,853,854,855的AS_PATH
ip as-path access-list 24 permit ^85[^0-5]$
指定了"不是0-5"。该正则表达式将匹配856-859范围内的单个AS号。
ip as-path access-list 24 permit ^85.
点(.)匹配任何单一字符。单一字符可能是一个空,匹配一个有AS号850-859开
始的AS_PATH。由于"."可以匹配一个空格,AS号85也能匹配成功。
ip as-path access-list 25 permit ^(851|852)$
匹配单个AS号,851或852的AS_PATH,括号中也可以写入多个。
ip as-path access-list 26 permit ^(851|852|6341|53)$
ip as-path access-list 27 permit ^(850)?$
匹配一个单一AS号850的AS_PATH或者匹配一个空的列表,如果表达式使 用850?,只应用在最后一个字符上,该表达式匹配85或者850。
ip as-path access-list 28 permit ^(850)*$
该过滤器AS_PATH匹配空的AS列表或包含1个或多个的AS号850的列表。即AS 路径可以是(850),(850,850), (850,850,850)等,空也可以。
Ip as-path access-list 29 permit ^(850)+$
和上面匹配的一样,但不能为空,至少是 1 个,运营商中经常使用。
ip as-path access-list 30 permit ^5610_148_284_13$ (匹配一串)
分界线(_)用作描述分隔分别指定的一串字。匹配指定的AS_PATH(5610,148,
284,13)。
ip as-path access-list 30 permit _5610_148_284_13_
由于上一个过滤器指定了行的开始与结束,只有 AS_PATH (5610,148,284,13)才能
匹配。这个过滤器中,只要求指定的序列包含在AS_PATH中,并不要求是唯一的属性。所以 AS_PATH(5610,148,284,13),(23,15,5610,148,284,13)和
(5610,148,284,13,3005)都 能匹配
ip as-path access-list 30 permit ^(850)+ _[5610|48]? _1850.*
一起探讨
.*组合表示any ,所有的 |
|
|