我想制作正则表达式来验证这些类型的ip地址。像
192.168.12.1 # it may be any proper ip address
193.168.34.3-3 # this format should also be acceptable
因为我想从范围内的用户那里获取价值。
提前致谢
答案 0 :(得分: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])$
是以0-255.0-255.0-255.0-255
格式验证IP地址的正则表达式。最后一个数字的范围是什么,用-
修改强>
^([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的情况。
答案 1 :(得分:2)
在Rails 3中使用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 }
答案 2 :(得分:1)
([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[\-0-9]*)
会验证您的两个示例..如果您需要更多信息,您可以更具体一点吗?
答案 3 :(得分:1)
为简单起见,调用([0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5])
“Pattern”
RegEx将是;
Pattern\.Pattern\.Pattern\.Pattern(-Pattern)?
答案 4 :(得分:1)
你可以从这里开始
http://answers.oreilly.com/topic/318-how-to-match-ipv4-addresses-with-regular-expressions/
并根据需要进行修改。
答案 5 :(得分: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]))?$/