Essayez de trouver le motif Regex correspondant si un e-mail contient un Guid, par ex.Regex pour obtenir un guid à partir d'une réponse par e-mail
Le Guid pourrait être n'importe où avant le @, par exemple
Essayez de trouver le motif Regex correspondant si un e-mail contient un Guid, par ex.Regex pour obtenir un guid à partir d'une réponse par e-mail
Le Guid pourrait être n'importe où avant le @, par exemple
J'utilise ceci pour trouver Guids
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);
Eh bien, en supposant que ça va toujours être dans la norme Notation GUID comme ça, si l'expression régulière suivante correspond à un GUID. Vous devez également appliquer la méthode de votre langue pour la rendre insensible à la casse.
[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})
correspondra à l'un hexagone au format 8-4-4-4-12 qui vient devant un @
Une variante paresseuse serait
([0-9a -f -] {36}). *? @
Il est facile à lire et je parie qu'il correspond à 99,99% de tous les cas;) Mais alors dans 0.00001% de tous les cas, Sombody pourrait avoir un e-mail adresse qui correspond à un schéma GUID.
il y a aussi une façon en une seule ligne pour obtenir 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