【发布时间】:2020-09-23 14:30:58
【问题描述】:
如何使用正则表达式验证 Azure 负载均衡器名称?
rules 是:
- 可以包含字母数字、下划线、句点和连字符。
- 以字母数字开头。
- 以字母数字或下划线结尾。
- 长度在 1-80(含)之间
我尝试使用^[A-Za-z0-9][A-Za-z0-9_.-]{1,80}$,但它匹配以句点结尾的字符串、81 个字符的字符串并且不匹配只有 1 个字符的字符串。
【问题讨论】:
-
如果支持 Lookbehinds,一种方法是
^[A-Za-z0-9][A-Za-z0-9_.-]{0,79}(?<=[A-Za-z0-9_])$。也支持 Unicode 的较短版本:^[^\W_][\w.-]{0,79}(?<=\w)$. -
试试
^[A-Za-z0-9](?:[A-Za-z0-9.-]{0,78}[A-Za-z0-9_])?$