1

これらのタイプのIPアドレスを検証するために正規表現を作成したい。

       192.168.12.1       # it may be any proper ip address 

       193.168.34.3-3     # this format should also be acceptable

範囲内のユーザーから価値を引き出したいからです。

前もって感謝します

4

6 に答える 6

3
^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.
([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$

フォーマットでIPアドレスを検証するための正規表現0-255.0-255.0-255.0-255です。最後の数字の範囲は何ですか、で区切られたもの-

編集

^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?)(?:\-([01]?\d\d?|2[0-4]\d|25[0-5]))?|2[0-4]\d|25[0-5](?:\-([01]?\d\d?|2[0-4]\d|25[0-5]))?$ 

これは、OPのシナリオで機能するはずです。

于 2012-10-17T10:49:17.037 に答える
2

Rails3でActiveRecordを使用して検証するRailsの方法は次のとおりです。

@ip_regex = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/

validates :gateway, 
          :presence => true, 
          :uniqueness => true,
          :format => { :with => @ip_regex } 
于 2012-10-17T11:02:17.283 に答える
1

([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[\-0-9]*)両方の例を検証します。より一致させる必要がある場合は、より具体的にできますか?

于 2012-10-17T10:47:58.053 に答える
1

([0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5])簡単にするために「パターン」と呼ぶと、正規表現は次のようになります。

Pattern\.Pattern\.Pattern\.Pattern(-Pattern)?
于 2012-10-17T10:55:38.553 に答える
1

ここから始められます

http://answers.oreilly.com/topic/318-how-to-match-ipv4-addresses-with-regular-expressions/

必要に応じて変更します。

于 2012-10-17T10:56:36.077 に答える
1

この正規表現を確認してください。

/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}(?:\-([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))?$/
于 2012-10-17T11:52:56.233 に答える