2009-05-13 2 views

답변

23

Regex isGuid = new Regex(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$", RegexOptions.Compiled); 
0

글쎄, 항상 표준이 될 것 가정 다음과 같은 정규식이 GUID와 일치하면 GUID 표기법을 사용합니다. 또한 대소 문자를 구분하는 언어의 방법을 적용해야합니다.

[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}[^@]*@ 
0
^[^@]*([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}) 

은 게으른 변형이 될 것 @

10

전에 오는 8-4-4-4-12 형식으로 어떤 진수를 일치합니다

([0-9A *] @

읽기 쉽고 모든 경우의 99,99 %와 일치합니다.)하지만 모든 경우의 0,001 %에 sombody가 이메일을 가질 수 있습니다. GUID 체계에 맞는 주소.

0

string findGuid = "hi Aether experiment 1481de3f-281e-9902-f98b-31e9e422431f @sdfsf 1481de3f-281e-9902-f98b-31e9e422431f"; //Initialize a new string value 
var guids = Regex.Matches(Regex.Split(findGuid, "@")[0], @"(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}")[0]; //Match all substrings in findGuid 
GUID를 얻을 수있는 한 줄에 하나의 방법도 있습니다