آموزش خارج کردن زیرگروه یک رشته در سی شارپ با Regular Expression

گاهی اوقات بسیار مفید است که یک عبارت را به چند زیرعبارت یا گروه تقسیم کنیم مثل یک شماره تلفن مربوط به ایالات متحده امریکا به صورت (1918-465-206). فرض را بر این قرار میدهیم که می خواهیم 2 گروه (یکی برای کد و دیگری برای شماره) بسازیم، پس الگو به صورت زیر خواهد بود

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید

(\d{3})-(\d{3}-\d{4})

باید توجه داشت که هر جفت پرانتز نشان دهنده یک گروه، d\ نشان دهنده عدد و عدد درون { } نشان دهنده تعداد هر کاراکتر است. پس کد ما به صورت زیر خواهد بود

Match m = Regex.Match ("206-465-1918", @"(\d{3})-(\d{3}-\d{4})");
Console.WriteLine (m.Groups[1]);   // 206
Console.WriteLine (m.Groups[2]);   // 465-1918

همچنین باید توجه داشت که اندیس صفر در کد زیر نشان دهنده کل متن است

Console.WriteLine (m.Groups[0]);   // 206-465-1918
Console.WriteLine (m);             // 206-465-1918

نظرات