繁体   English   中英

用于Azure Blob容器的正则表达式

[英]Regex for Azure blob containers

尝试创建一个正则表达式以在下面的代码中使用以确保我的输入符合Azure blob容器规则,但是需要一个正则表达式意味着我有两个问题。

规则:

  • 仅字母,数字和连字符
  • 没有空间
  • 必须以字母或数字开头

不担心小写,因为在此之后我要使用.ToLower()。

试过这个,但是保留$和^,所以我一定做错了吗?

Regex rgx = new Regex(@"^[a-zA-Z][a-zA-Z0-9]*$");

尝试以下方法:

        Regex regEx = new Regex("^[a-z0-9](?:[a-z0-9]|(\\-(?!\\-))){1,61}[a-z0-9]$|^\\$root$");
        var isContainerNameValid = regEx.IsMatch(containerName);

来源:Azure门户->“新建容器”屏幕->“查看来源:”

现在,最新版本的Azure存储库包含此方法:

   Microsoft.WindowsAzure.Storage.NameValidator.ValidateContainerName(myContainerName);

如果名称无效,则将引发ArgumentException。

比尝试自己做要好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM