C# Azure blob容器的正则表达式

C# Azure blob容器的正则表达式,c#,regex,azure,C#,Regex,Azure,试图创建一个正则表达式以在以下代码中使用,以确保我的输入符合Azure blob容器规则,但需要正则表达式意味着我有两个问题 规则: 仅限字母、数字和连字符 没有空间 必须以字母或数字开头 我不担心小写,但我会在这之后把它放低 尝试过这个,但它保留了$,所以我一定是做错了什么 Regex rgx = new Regex(@"^[a-zA-Z][a-zA-Z0-9]*$"); 请尝试以下方法: Regex regEx = new Regex("^[a-z0-9](?:[a-z

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

规则:

  • 仅限字母、数字和连字符
  • 没有空间
  • 必须以字母或数字开头
我不担心小写,但我会在这之后把它放低

尝试过这个,但它保留了$,所以我一定是做错了什么

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门户-->新建容器创建屏幕-->查看来源:)

请尝试以下操作:

        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


比尝试自己创建更好。

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

   Microsoft.WindowsAzure.Storage.NameValidator.ValidateContainerName(myContainerName);
如果名称无效,它将抛出ArgumentException


总比自己动手做强。

+1是为了独创性,但我需要C夏普版本的,抱歉我应该给它加上标签来更新我的答案
isContainerNameValid
将根据模式匹配返回true或false。+1用于创新,但我需要C sharp中的它,抱歉,我应该标记它以更新我的答案
isContainerNameValid
将根据模式匹配返回true或false。仍然不在API的JavaScript版本中:(仍然不在API的JavaScript版本中:(