新风花雪月 发表于 2018-7-18 07:25:34

Cisco正则表达式

  正则表达式
  符号
  匹配内容
  .
  任何单个字符,包括空格
  [   ]
  在方括号中罗列的任何字符
  [^   ]
  除了在方括号中所罗列字符外的任何字符(^ 必须放在字符列表
  之前)
  -
  中划杠(连字符)匹配两个字符之间的任意字符
  ?
  匹配出现0次 或1次(选择替代0次或1次)
  *
  匹配出现0次 或多次
  +
  匹配出现1次 或多次
  ^
  字符串的开始,启始符
  $
  字符串的结束,结束符
  |
  分割符,分割符号的任何1个都可以
  _
  下划线,匹配一个逗号,行的开始,行的结束或空格,匹配的东
  西更多相比 ^ 和$
  例子:
  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$
  匹配包含单一AS号850,851,852,853,854,855或859的AS_PATH。
  ip as-path access-list 23 permit ^85$
  上述过滤器匹配包含单一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)+ _? _1850.*
  一起探讨
  .*组合表示any ,所有的
页: [1]
查看完整版本: Cisco正则表达式