newuser 发表于 2011-1-6 09:00:40

[已解决]正则:如何匹配正确的IP?

本帖最后由 newuser 于 2011-1-7 10:32 编辑

#include <array.au3>
Local$Str="10.64.240.153 256.64.241.154 192.168.1.1"
Local$Result=StringRegExp($Str,"(?:(?:25|2|??)\.){3}(?:25|2|??)",3)
_ArrayDisplay($Result)

256.64.241.154是非法IP,以上的正则没有被匹配出他,但却匹配出了 56.64.241.154,如何避免这种情况呢?

kodin 发表于 2011-1-6 13:18:14

#include <array.au3>
Local$Str="10.64.240.153 256.64.241.154 192.168.1.1"
Local$Result=StringRegExp($Str,"(?:(?:25|2|??)\.){3}(?:25|2|??)",3)

_ArrayDisplay($Result)


改了个数字...

pcbar 发表于 2011-1-6 20:49:28

前面加\b

newuser 发表于 2011-1-7 10:31:10

回复 2# kodin
不行,改了 没有用,他只是让数字范围从0-199变成了0-299,对于IP来说,反倒是增加了一个错误选择,呵呵!

newuser 发表于 2011-1-7 10:31:45

回复 3# pcbar

谢谢老大,一句话惊醒梦中人!
页: [1]
查看完整版本: [已解决]正则:如何匹配正确的IP?