電子メールにGUIDが含まれている場合に一致する正規表現パターンを特定しようとしています。Regexが電子メール返信からGUIDを取得する
GUIDは潜在的に、例えば、@の前にどこにでも可能性があり
[email protected]私はGUIDを見つけるためにこれを使用
電子メールにGUIDが含まれている場合に一致する正規表現パターンを特定しようとしています。Regexが電子メール返信からGUIDを取得する
GUIDは潜在的に、例えば、@の前にどこにでも可能性があり
[email protected]私は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}[^@]*@
^[^@]*([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})
@怠惰なバリアントは
([0-9Aだろう前に来る8-4-4-4-12形式でヘクスにマッチします*?@
これは読みやすく、それはすべてのケースの99,99%にマッチします;)しかし、すべてのケースの0,00001%で、誰かが電子メールを持っている可能性があります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
GUIDを取得するための単一の行の一つの方法もあります