Próbujesz znaleźć wzór Regex, aby dopasować, jeśli wiadomość e-mail zawiera Guid, np.Regex, aby uzyskać kod z odpowiedzi e-mailowej
GUID potencjalnie może być w dowolnym miejscu przed @ np
Próbujesz znaleźć wzór Regex, aby dopasować, jeśli wiadomość e-mail zawiera Guid, np.Regex, aby uzyskać kod z odpowiedzi e-mailowej
GUID potencjalnie może być w dowolnym miejscu przed @ np
Używam tego znaleźć GUID
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);
Cóż, zakładając, że zawsze będzie w standardzie Identyfikator GUID w ten sposób, jeśli poniższe wyrażenie regularne pasuje do identyfikatora GUID. Powinieneś także zastosować metodę języka, która nie uwzględnia wielkości liter.
[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}[^@]*@
^[^@]*([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})
dopasuje dowolny hex w formacie 8-4-4-4-12 że przychodzi przed @
Leniwy wariant byłby
([0-9a -f -] {36}). *? @
Jest łatwy do odczytania i założę się, że pasuje do 99,99% wszystkich przypadków;) Ale w tym przypadku w 0,00001% wszystkich przypadków sombody może mieć e-mail adres pasujący do schematu GUID.
jest również jednym ze sposobów w jednej linii, aby uzyskać GUID
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