关于正则表达式
2011-05-14 19:39
246 查看
最近公司又开始上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$
^ 标志一个表达式的开始(最帖近本地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$
相关文章推荐
- 关于Logstash中grok插件的正则表达式例子
- 关于java正则表达式
- 关于日期的正则表达式
- 关于一个使用正则表达式匹配来写的显示时间的方法
- 两篇关于正则表达式的文章
- 关于正则表达式的“\b”
- 字符串截取中关于正则表达式的应用
- 关于正则表达式、正则文法、NFA、LR(1)
- 一篇关于Java正则表达式的理解
- 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?”
- 看了一篇比较好的关于正则表达式的文章
- 关于java 正则表达式 与 fastjson的兼容性问题
- 一篇关于正则表达式学习的非常不错的文章
- 关于JS中的正则表达式(2)
- 计算字符串长度(关于日文字符) 正则表达式
- 【转】关于正则表达式匹配任意字符(包括换行符)的写法
- 关于正则表达式的使用
- 关于java正则表达式的一点点过滤(java正则判断IP合法性)
- 关于正则表达式 C#
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式