您好我正在使用此功能在交换机上生成范围:http://code.google.com/p/klish/wiki/subcommands
我已将模式设置为0-255。这很好用
<PTYPE name="MAX_LEARN_ADDR"
method="integer"
pattern="0..255"
/>
这正确地只接受0-255并且停止像* $£这样的东西,说它们无效。但是 - 导致错误。我试过了:
^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$
同样的事情发生了。
示例法律输入:
switch(config-if)# switchport port-security maximum 3
%INFO: port-security maximum is 3, up to 3 DYNAMIC addresses will be learned
示例非法输入:
switch(config-if)# switchport port-security maximum *
Syntax error: Illegal parameter
然而:
switch(config-if)# switchport port-security maximum -
给出一个python跟踪,因为 - 没有被捕获为无效参数并且被传递给函数。
答案 0 :(得分:0)
为什么不尝试使用它来代替你应该允许的模式?
编辑2 好吧,这应该可以解决问题!
^(25[0-5]|[2][0-4]\d|[1]\d\d|[1-9]\d|\d)$
答案 1 :(得分:0)
^([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])$
将是您需要的
答案 2 :(得分:0)
这个正则表达式可能会为你做的工作。
^25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d$
第一部分:25[0-5]
允许250到255之间的数字
第二部分:2[0-4]\d
允许200到249之间的数字
第三部分:1\d\d
允许数字从100到199
最后一部分:[1-9]?\d
允许从0到99的数字,并确保00或01不被接受,但0,1等等。
答案 3 :(得分:0)
答案是如果范围以0开头,则klish存在问题。