البرمجة

تحليل النصوص في جافا باستخدام تعابير الريجكس

عند العمل مع فئة Pattern في لغة البرمجة جافا، يمكنك استخدام تعابير الريجكس لفصل السلاسل إلى أقسام فردية وفقًا للأنماط المحددة. في سياقك، تريد تقسيم السلسلة إلى عدة فئات مثل الأرقام، النصوص، التعليقات، والرموز.

لتحقيق هذا الهدف، يمكنك استخدام فئة Matcher في جافا بالتعاون مع فئة Pattern. إليك كيفية تحقيق النتيجة المرجوة باستخدام تعابير الريجكس:

java
import java.util.regex.*; public class RegexExample { public static void main(String[] args) { String text = "1234bbbbAAAAb2222 /*1231232132131221*/ [11] }"; // تحديد الأنماط باستخدام تعابير الريجكس String numberPattern = "\\d+"; String stringPattern = "[a-zA-Z]+"; String commentPattern = "/\\*.*?\\*/"; String symbolPattern = "[\\[\\]{}()]"; // إعداد النص لفصله إلى أقسام String combinedPattern = "(" + numberPattern + ")|(" + stringPattern + ")|(" + commentPattern + ")|(" + symbolPattern + ")"; Pattern pattern = Pattern.compile(combinedPattern); Matcher matcher = pattern.matcher(text); // طباعة النتائج وفقًا للترتيب الأصلي while (matcher.find()) { if (matcher.group(1) != null) { System.out.println("Number: " + matcher.group(1)); } else if (matcher.group(2) != null) { System.out.println("String: " + matcher.group(2)); } else if (matcher.group(3) != null) { System.out.println("Comment: " + matcher.group(3)); } else if (matcher.group(4) != null) { System.out.println("Symbol: " + matcher.group(4)); } } } }

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

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

في هذا السياق، يتيح لك استخدام فئات Pattern و Matcher في لغة البرمجة جافا تحقيق تحليل نصي معقد وتقسيم السلسلة إلى أجزاء فردية وفقًا للأنماط المحددة. لنلقِ نظرة أعمق على الكود وفهم كيف يتم تحقيق هذا:

  1. تعريف أنماط الريجكس:

    • \\d+: هذا النمط يتناسب مع أي تسلسل من الأرقام.
    • [a-zA-Z]+: يتناسب هذا النمط مع أي تسلسل من الحروف الأبجدية.
    • "/\\*.*?\\*/": يتناسب هذا النمط مع أي تسلسل يبدأ بـ “/” وينتهي بـ “/”.
    • [\\[\\]{}()]: يتناسب هذا النمط مع أي من الرموز “[“, “]”, “{“, “}”, “(“, “)”.
  2. الدمج والمطابقة:

    • يتم دمج هذه الأنماط في نمط واحد باستخدام الفواصل العمودية (|)، مما يسمح بمطابقة أي منها.
    • يتم إعداد فئة Pattern بهذا النمط المدمج.
  3. التحليل والطباعة:

    • يتم استخدام Matcher لفحص النص.
    • matcher.find() يتحقق مما إذا كان هناك مطابقة أخرى في النص.
    • يتم فحص المجموعات (matcher.group()) للتحقق من أي فئة تمثلها المطابقة.
  4. طباعة النتائج:

    • إذا كانت هناك مطابقة للأرقام، يتم طباعة “Number: “.
    • إذا كانت هناك مطابقة للنصوص، يتم طباعة “String: “.
    • إذا كانت هناك مطابقة للتعليقات، يتم طباعة “Comment: “.
    • إذا كانت هناك مطابقة للرموز، يتم طباعة “Symbol: “.

هذا الكود يوضح كيف يمكن استخدام فئات Pattern و Matcher بشكل فعال لتحليل النصوص بواسطة تعابير الريجكس. يمكنك توسيع هذا النهج لتحليل نصوص أكثر تعقيدًا أو تعديله وفقًا لاحتياجاتك الخاصة.

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر