我需要验证给定的字符串是否是有效的mDNS地址。这些例子如下:
a2aadd61-85d9-4be6-a36c-267ad65917d3.local
ccd58700-cdd5-4c1f-8098-5bc306f1ce77.local
bb4115cd-1f39-42b0-9433-e59533c9c771.local
3b382824-24bf-457a-a7d6-b6e25e4d79bf.local
9284cbaa-2933-45e3-9ae2-c0cccae54b68.local
619281fb-6426-44fa-8d0f-9e58ce415e3e.local
541d8a99-b1a5-46f4-96f1-e31f30b3cb99.local
2feb782f-ea40-4a37-b843-5b5b4fe1860e.local
这可能吗?我是正则表达式的新手,似乎找不到这个特定字符串的正则表达式示例。这是我尝试做的一个正则表达式测试:
let valid = 'a2aadd61-85d9-4be6-a36c-267ad65917d3.local';
let invalid = 'not-valid-233q4q22eqwr-q3rhHE02n333r4tsefs.local';
let regex = \([a-zA-Z1-9]+){8}-([a-zA-Z1-9]){4}-([a-zA-Z1-9]){4}-([a-zA-Z1-9]){12}\.local\;
regex.test(valid)
2条答案
按热度按时间dly7yett1#
+
量词不需要(甚至是错误的)。/^[a-z\d]{8}(?:-[a-z\d]{4}){3}-[a-z\d]{12}\.local$/i
。jq6vz3qz2#
我用这个让它工作: