Regex从电子邮件回复中获取guid
如果电子邮件包含Guid,则尝试找出要匹配的正则表达式模式,例如 a141aa94-3bec-4b68-b562-6b05fc2bfa48-reply@site.com Guid可能位于@之前的任何位置,例如 答复-a141aa94-3bec-4b68-b562-6b05fc2bfa48@wingertdesign.comRegex从电子邮件回复中获取guid,regex,guid,Regex,Guid,如果电子邮件包含Guid,则尝试找出要匹配的正则表达式模式,例如 a141aa94-3bec-4b68-b562-6b05fc2bfa48-reply@site.com Guid可能位于@之前的任何位置,例如 答复-a141aa94-3bec-4b68-b562-6b05fc2bfa48@wingertdesign.com 我使用它来查找guid Regex isGuid = new Regex(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-
我使用它来查找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);
好吧,假设它总是用标准的GUID表示法,如果下面的正则表达式匹配,就有一个GUID。您还应该应用语言的方法使其不区分大小写
[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}[^@]*@
将匹配@惰性变体之前的8-4-4-4-12格式的任何十六进制 ([0-9a-f-]{36})。*@
它很容易阅读,我敢打赌它与99.99%的案例相符;)但是,在所有情况下,000001%的人可以拥有符合GUID方案的电子邮件地址。在单行中也有一种方法可以获得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
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