我想制作正则表达式来验证这些类型的 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])$
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 的场景。
在 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 }
你可以从这里开始
http://answers.oreilly.com/topic/318-how-to-match-ipv4-addresses-with-regular-expressions/
并根据需要进行修改。
为简单起见,调用([0-9] | [1-9][0-9] | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5])
“模式”,RegEx 将是;
Pattern\.Pattern\.Pattern\.Pattern(-Pattern)?
签出这个正则表达式。
/^([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]))?$/
([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[\-0-9]*)
将验证你的两个例子..如果你需要它来匹配更多,你能更具体吗?