0

IPアドレスのようなものを検証しようとしているのは、

ポートに接続するかどうか。私に言わせてください: 10.12.1.100 と 10.12.1.100:8080 は大丈夫です。

私はこのようなものを作成します:

^10\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5 [0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0 -9]|5[0-5]))\.([0-9]|[1-9][0-9]|1([0-9][0-9])|2([0 -4][0-9]|5[0-5]))([-+]?(:|\d[1,4]))$

ただし、10.12.1.100:8080 パーツでは機能しません。この部分を実装する方法 ([-+]?(:|\d[1,4]))?

([-+]?(:|\d[1,4])); を削除すると、10.12.1.100 部分が有効になります。

ありがとう、

4

2 に答える 2

1

この正規表現を使用します^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:\d{1,5})?$

于 2012-07-17T18:43:01.003 に答える
0

あなたの特定のパターンは、かなり特定の IP マッチングを行っているようです。それ以外の場合は、@burning_LEGION が提案したようなものを使用することをお勧めします。通常の IP 解析の範囲を超えたシナリオに固有の何かがあると思います。

グループ構造を同じままにする必要があると想定しているため、現在のパターンを拡張しているだけです。それ以外の場合は、書き直しをお勧めします。

ただし、特定の例を修正するには、次のように置き換え([-+]?(:|\d[1,4]))$てみてください([-+]?(:\d{1,5}))?$

于 2012-07-17T18:56:50.853 に答える