正则表达式 ip地址

正则表达式IP地址验证

IPv4的地址格式,一共4段,每段之间用逗号分隔,每段都是0-255之间的十进制数值

string pattern = @"((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)";
string input = "net:tcp//192.168.5.173:65535/MyService";
Regex reg = new Regex(pattern);
var ret=  reg.Matches(input);

将0-255用正则表达式来表示,可以分为以下几段

 取值区间 正则表达式  可合并正则  可合并  可合并 
 0-9   \d   [1-9]?\d    

1\d{2}|[1-9]?\d 

 
25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d     
 10-99  [1-9]\d
 100-  199   1\d{2}  
 200-249  2[0-4]\d    
 250-255  25[0-5]    

 

 

 

 

    

前三段重复三次,所以最后为

((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)

备注:1\d{2}|[1-9]?\d 这里|前后的顺序不可颠倒,先匹配3位数的,如果顺序颠倒,线匹配到2位就不匹配三位了

转自:https://www.cnblogs.com/olive987/p/5844501.html

 

posted @ 2019-04-10 19:46  110来了  阅读(16681)  评论(0编辑  收藏  举报