البرمجة

استخراج النصوص بين الأقواس في C# باستخدام Regex

في لغة البرمجة C#، يمكنك استخدام تعابير الانتقال النمطي (Regex) للبحث عن مطابقات داخل سلسلة نصية واستخراج القيم المطابقة. في هذا السياق، ترغب في استخدام تعبير منتظم للعثور على النصوص بين الأقواس الزاوية في سلسلة معينة واستخراجها دون الأقواس.

لتحقيق ذلك، يمكنك تعديل تعبير الانتقال النمطي الخاص بك قليلاً. فيما يلي كود C# يوضح كيفية القيام بذلك:

csharp
using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "[test]][test][test]"; string pattern = @"\[(.*?)\]"; var matches = Regex.Matches(input, pattern); foreach (Match match in matches) { Console.WriteLine(match.Groups[1].Value); } } }

في هذا الكود، قمنا بتعديل الفحص ليستخرج القيم بين الأقواس فقط، دون تضمين الأقواس أنفسها. ذلك بفضل استخدام match.Groups[1].Value بدلاً من match.Value. توفر match.Groups[1] القيمة التي تم العثور عليها بين الأقواس.

باستخدام هذا التعديل، يمكنك الآن الحصول على النتائج المرجوة، حيث يتم استخراج القيم بين الأقواس دون تضمين الأقواس نفسها.

المزيد من المعلومات

في عالم تطوير البرمجيات، تكمن أهمية استخدام تعابير الانتقال النمطي (Regex) في قدرتها على تحديد أنماط معينة داخل النصوص. تقدم تلك التعابير مرونة كبيرة لتحديد واستخراج البيانات بناءً على أنماط معينة، مما يسهل عمليات معالجة النصوص وتحليلها.

التعبير الذي استخدمته في الكود السابق @"\[(.*?)\]" يقوم بالتالي:

  • \[: يبحث عن فتحة قوس زاوي مبدأيًا.
  • (.*?): هذا الجزء يستخدم لتحديد أي نوع من النصوص بين القوسين. الرمز .*? يعبر عن أي عدد من الحروف (بما في ذلك الفراغات) بشكل غير جشع، مما يعني أنه سيتوقف عند أول قوس زاوي يجده.
  • \]: يبحث عن إغلاق القوس الزاوي.

عند تطبيق هذا التعبير على سلسلة النص “[test]][test][test]”, يتم العثور على جميع القيم بين القوسين دون تضمين القوسين نفسها، كما هو موضح في الكود السابق.

هذا النهج يسمح لك بتحقيق الهدف المحدد بالحصول على قائمة من القيم بين الأقواس في سلسلة النص المعطاة. يُشير الكود السابق إلى كيفية استخدام تلك القيم في بيئة C# وطباعتها إلى الإخراج لتوضيح النتائج المحققة.

زر الذهاب إلى الأعلى