c# mac地址 和http://xx.xx.xx/ 正则表达式匹配

Mac  :^([0-9a-fA-F]{2})(([/s:][0-9a-fA-F]{2}){5})$

C# 书写方式 一下是允许mac中间间隔符是“:”或者“-”两种输入方式 并且我把上边的正则表达式里边的s给去掉了,不允许中间有空格的出现

以下是c# 代码

if (mac.Contains("."))
{
reg = @"^([0-9a-fA-F]{2})(([/:][0-9a-fA-F]{2}){5})$";
}
if(mac.Contains("-"))
{
reg = @"^([0-9a-fA-F]{2})(([/-][0-9a-fA-F]{2}){5})$";
}
Regex regex = new Regex(reg);
if (!regex.IsMatch(mac))
{
lblmac.Text = "请检测Mac输入是否正确";
// MessageBox.Show("请检测域名输入是否正确", "Error");
return;
}

简单介绍上边的表达式的语法: ^ 是开始,$是结束,@是在匹配的表达式中省略一个/的写法

[0-9a-fA-F]{2}  比如0f 是两位,就用{2},三位就是3了;

[0-9a-fA-F] 是允许输入的内容不能超过0-9 或者大小写a-f 之间的数值

(([/-][0-9a-fA-F]{2}){5} : {5} 以上的表达式重复5次 ,[/-]中间加上“- ”。刚好加前边那个一共6个,符合mac 六组的标准。

二:http://xx.xx.xx/ 地址格式的正则表达式写法;

表达式:reg = @"^(http|https)://[a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-Z]+/+$";

下边例子:

private void button1_Click(object sender, EventArgs e)
{
textBox1.Clear();
string domain = txbDomain.Text.Trim();
string reg = @"^(http|https)://[a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-Z]+/+$";
Regex regex = new Regex(reg);
if (!regex.IsMatch(domain))
{
lbldomain.Text = "请检测域名输入是否正确";
// MessageBox.Show("请检测域名输入是否正确", "Error");
return;
}
else
{
lbldomain.Text = "格式正确……";
}

原文地址:https://www.cnblogs.com/zuochanzi/p/6025668.html