验证正则表达式匹配

本文关键字:正则表达式 验证 | 更新日期: 2023-09-27 18:31:44

我正在尝试验证ID以及我做错了什么?

下面是我的代码:

ID: "a485c610-7d49-4877-a4c9-bdaaaad417be"
public ActionResult Verify(string id)
{
   if (string.IsNullOrEmpty(id) || (!Regex.IsMatch(id, @"[0-9a-f]{8}'-([0-9a-f]{4}'-){3}[0-9a-f]{12}")))
   {
       //oops
   }
   else {
       //good
    }
}

验证正则表达式匹配

正如琼斯所说,为什么不使用Guid.TryParse()

string stringGuid = "a485c610-7d49-4877-a4c9-bdaaaad417be";
Guid newGuid;
if (Guid.TryParse(stringGuid, out newGuid))
   Console.WriteLine("Converted {0} to a Guid", stringGuid);
else
   Console.WriteLine("Unable to convert {0} to a Guid", stringGuid);

有关详细信息,请参阅此链接

您需要锚定正则表达式,并且无需在字符类之外转义-

@"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"

^$ 分别匹配字符串的开头和结尾。