谁能详细的帮我解释下正则表达式中判断是否是ip的这个例子public bool IsIp(string StrData) { if (StrData == null || StrData == string.Empty) return false; Regex res = new Regex(@"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"); return res.IsMatch(StrData); }

问题描述:

谁能详细的帮我解释下正则表达式中判断是否是ip的这个例子
public bool IsIp(string StrData)
{
if (StrData == null || StrData == string.Empty)
return false;

Regex res = new Regex(@"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
return res.IsMatch(StrData);
}

^表示行首2[0-4]\d表示以2开头中间跟0到4的数,末尾跟一个任意数字,25[0-5]表示已25开头,末尾跟0到5的数字[01]?\d\d?表示0或者1重复0次或者1次,中间跟一个数字,后面再跟一个数字,这个数字重复0次或者1次| 符号表示或....