これらのタイプのIPアドレスを検証するために正規表現を作成したい。
192.168.12.1 # it may be any proper ip address
193.168.34.3-3 # this format should also be acceptable
範囲内のユーザーから価値を引き出したいからです。
前もって感謝します
これらのタイプのIPアドレスを検証するために正規表現を作成したい。
192.168.12.1 # it may be any proper ip address
193.168.34.3-3 # this format should also be acceptable
範囲内のユーザーから価値を引き出したいからです。
前もって感謝します
^([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のシナリオで機能するはずです。
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 }
([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[\-0-9]*)
両方の例を検証します。より一致させる必要がある場合は、より具体的にできますか?
([0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5])
簡単にするために「パターン」と呼ぶと、正規表現は次のようになります。
Pattern\.Pattern\.Pattern\.Pattern(-Pattern)?
ここから始められます
http://answers.oreilly.com/topic/318-how-to-match-ipv4-addresses-with-regular-expressions/
必要に応じて変更します。
この正規表現を確認してください。
/^([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]))?$/