وعليكم السلام ورحمة الله
يمكنك مطابقة الأعداد في REGEX عن طريق
[0-9]+
ومعناه انك تريد مطابقة كل الأرقام من 0 إلى تسعة وعلامة ال + تعني مع إمكانية التكرار أي مطابقة رقم واحد أو اكثر
وبالتالي لمطابقة الدرجات بالشكل المطلوب سيكون التعبير كالتالي
[0-9]+/[0-9]+
مع ملاحظة أنه عند استخدامك ل "/" ك delimiter فعليك استثناءها فمثلا في لغة ال PHP سيكون الكود شبيها بهذا
$string = 'Your First Subject score is 45/50';
$matches = null;
preg_match('/[0-9]+\/[0-9]+/', $string, $matches);
وستكون قيمة $matches في الكود السابق هي
Array (
[0] => 45/50
)
تحديث
كما ذكر @Adnane Kadri بخصوص علامات بداية العبارة '^' ونهاية العبارة '$'، يمكنك استخدامهما في حالة أردت مطابقة النص كاملا وليس جزءا من النص. فمثلا إذا أردنا أن نقوم بعمل دالة تتحقق من أن النص هو درجة طالب صحيحة --أي مطابقة للشكل الذي نريده--؛ سيكون الكود في PHP شبيها بهذا:
function isValidScore($string)
{
return (bool) preg_match('/^[0-9]+\/[0-9]+$/', $string);
}
أمثلة لقيمة ما ترجعه الدالة السابقة عند استخدامها للتحقق من النص
isValidScore('45/50'); //-> bool(true) النص المدخل بالكامل من بدايته لنهايته هو درجة طالب كما نريدها
isValidScore('Your Score is 45/50'); //-> bool(false) النص ليس درجة طالب