0

私はこのパターンを検証しようとしています:

1.1.1.1 から 254.254.254.254 まで、先行ゼロなし。したがって、001.001.001.001 は一致しないはずです。

私は持っている

/^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-4])\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-4])\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-4])\.([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-4])$/

しかし、これは先行ゼロに一致します。誰でもこれを修正する方法をお勧めできますか?

4

4 に答える 4

3

各要素は次のようになります。

[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]

部品の内訳:

(1-99)      (100-199)   (200-249)   (250-254)

ああ、そして私が言及しなければならないもう一つのこと...あなた0は2位、3位、4位の番号を処理する必要があります。0したがって、これらのグループに1桁のオプションを追加するだけです。IPアドレスの最初の数字としてゼロを使用することは有効ではないと思います(ただし、マスクの場合は有効です)。

于 2013-01-20T22:43:34.797 に答える
0

このような繰り返しパターンの場合は、番号付きの繰り返しを使用すると便利です。以下はあなたが求めているものと一致するはずです

([1-9]\d{0,3}\.){3}[1-9]\d{0,3}

編集:私は眠っていて、.254でキャップする部分を逃しました。機会があれば更新します。

于 2013-01-20T22:44:32.667 に答える
0

これはうまくいくはずです

^(([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-4]))\.(?1)\.(?1)\.(?1)$
于 2013-01-20T22:46:09.690 に答える
0

これを試して。

([1-9]$|[1-9][0-9]$|[12][0-9][0-9]$)\.([0-9]$|[1-9][0-9]$|[12][0-9][0-9]$)\.([0-9]$|[1-9][0-9]$|[12][0-9][0-9]$)\.([1-9]$|[1-9][0-9]$|[12][0-9][0-9]$)

于 2013-02-18T14:10:17.867 に答える