2014-04-29 2 views
1

다음 코드에서 사용하여 Azure blob 컨테이너 규칙을 준수하는지 확인하기 위해 정규식을 만들려고했지만 정규식이 필요하다는 것은 2 가지 문제가 있음을 의미합니다.Azure 얼룩 컨테이너에 대한 정규식

규칙 :

  • 문자와 숫자, 하이픈 만
  • 없음 공간
  • 문자 나 숫자 내가 하겠어으로 낮은 경우에 대해 걱정하지

로 시작해야합니다. 그 후로 내려라.

시도해 보았지만 $와 ^를 유지하므로 잘못 처리해야합니다.

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

답변

7

대신을 시도해보십시오

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

출처 : 푸른 포털 -> 새 컨테이너 생성 화면 -> 소스보기 :

+0

+1 독창성을 위해,하지만 나는 C 날카로운에서 그것을 필요로했다, 미안 나는 그것을 태그해야했다 – stuartdotnet

+0

내 대답을 업데이 트했습니다. 'isContainerNameValid'는 패턴 일치에 따라 true 또는 false를 반환합니다. –

1

애저 스토리지 라이브러리의 최신 버전은 현재 포함 이 방법 :

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

이름이 유효하지 않은 경우 ArgumentException이 throw됩니다.

직접 만드는 것보다 낫습니다.

관련 문제