0

こんにちは、スイッチで範囲を生成するためにこれを使用しています: 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 トレースを提供します。

4

4 に答える 4

0

許可するパターンの代わりにこれを使ってみませんか?

編集2わかりました、これでうまくいくはずです!

^(25[0-5]|[2][0-4]\d|[1]\d\d|[1-9]\d|\d)$
于 2013-02-12T12:38:55.547 に答える
0

^([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])$あなたが必要とするものでしょう

于 2013-02-12T12:45:56.117 に答える
0

この正規表現はあなたのために働くかもしれません。

^25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d$

最初の部分: 25[0-5]250 から 255 まで
の数字を許可する 2 番目の部分: 2[0-4]\d200 から 249 まで
の数字を許可する 3 番目の部分: 1\d\d100 から 199 までの数字を許可
する 最後の部分: [1-9]?\d0 から 99 までの数字を許可する受け入れられませんが、0、1 などは受け入れられます。

于 2013-02-12T12:52:21.853 に答える
0

答えは、範囲が 0 で始まる場合、klish に問題があるということです。

于 2013-03-01T15:43:31.007 に答える