2014-12-16 7 views
0

Я хотел бы, чтобы поймать эти строки (C011A1CC), начиная с 7E03 и заканчивая в этой строке данныхИзвлечение строки из данных

string value = "7E 03 C0 11 A1 CC 80 7E 03 C0 20 A1 CC 80 7E 03 C0 31 A1 CC 80 7E 03 C0 41 A1 CC 80"; 
string newValue = value.Trim(); 
string noSpacecStr = value.Replace(" ", ""); 

Match m = Regex.Match(noSpacecStr, @"\b7E03"); 
    if (m.Success) 
    { 
     string key = m.Groups[1].Value; 
     Console.WriteLine(key); 

    } 
    Console.ReadLine(); 

В частности, я должен получить это значение (C0 11 A1 CC) между 7E03 и 80, но эти блоки данных не включены (Regex, Regular Expression) => 7E 03 (C0 11 A1 CC) 80

ответ

2

Я бы использовал "7E03((..)*?)80". Часть (..)*? гарантирует, что вы берете кратность 2 и кратчайший возможный вариант.

Смежные вопросы