دليل تمهيدي للتعبيرات العادية

التعبيرات العادية، المعروفة باسم regex أو regexp، هي تسلسلات من الأحرف التي تشكل أنماط البحث. يتم استخدامها بشكل أساسي لمطابقة السلسلة ومعالجتها. يمكن أن يكون Regex قويًا بشكل لا يصدق في البحث عن البيانات واستبدالها واستخراجها من النص.

بناء الجملة الأساسي

تتكون التعبيرات العادية من مجموعة من الأحرف الحرفية والأحرف الخاصة التي تسمى الأحرف الأولية. فيما يلي بعض المكونات الأساسية:

  • الأحرف الحرفية: هذه هي الأحرف العادية المطابقة لنفسها. على سبيل المثال، يتطابق التعبير العادي cat مع السلسلة "cat".
  • الأحرف الأولية: هذه الأحرف لها معاني خاصة وتستخدم لبناء أنماط معقدة. تتضمن الأمثلة ., *, +, ?, [], {} ، ()، و |.

الأحرف الأولية الشائعة

فيما يلي بعض الأحرف الأولية الأكثر استخدامًا ووظائفها:

  1. . - يطابق أي حرف واحد باستثناء السطر الجديد.
  2. * - يطابق 0 أو أكثر من تكرار العنصر السابق.
  3. + - يطابق تكرارًا واحدًا أو أكثر للعنصر السابق.
  4. ? - يطابق تكرار 0 أو 1 للعنصر السابق.
  5. [] - يستخدم لمطابقة أي من الأحرف الموجودة داخل الأقواس.
  6. {} - يحدد عددًا محددًا من تكرارات العنصر السابق.
  7. () - يقوم بتجميع الرموز المميزة معًا وإنشاء مجموعات التقاط.
  8. | - يعمل كمشغل OR.

أمثلة على الأنماط الأساسية

دعنا نستكشف بعض أنماط التعبير العادي الأساسية مع الأمثلة:

cat

يطابق السلسلة "cat" في أي مكان في النص.

.at

يطابق أي سلسلة تحتوي على "a" متبوعة بأي حرف ثم "t". على سبيل المثال، "cat"، "bat"، "hat".

\d{3}

يطابق ثلاثة أرقام بالضبط. على سبيل المثال، "123"، "456"، "789".

[a-z]

يطابق أي حرف صغير من "a" إلى "z".

(dog|cat)

يطابق إما "dog" أو "cat".

استخدام Regex في البرمجة

يتم دعم التعبيرات العادية في العديد من لغات البرمجة. فيما يلي أمثلة لكيفية استخدام regex في Python وJavaScript:

مثال بايثون

import re

# Search for 'cat' in a string
pattern = r'cat'
text = 'The cat sat on the mat.'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('No match found')

مثال جافا سكريبت

// Search for 'cat' in a string
const pattern = /cat/;
const text = 'The cat sat on the mat.';
const match = text.match(pattern);

if (match) {
    console.log('Match found:', match[0]);
} else {
    console.log('No match found');
}

خاتمة

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