اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر (معدل)

وعليكم السلام ورحمة الله

يمكنك مطابقة الأعداد في 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) النص ليس درجة طالب 

 

تم التعديل في بواسطة aboelabbas
خطأ مطبعي + تحديث
  • 0
نشر (معدل)

مكونات الـ regular expression التي سيتم استعمالها : 

^ : بداية العبارة . 

0-9 : رقم بين 0 و 9  .
+ : محدد التكرار , اي قبول عنصر واحد في التجميعة أو أكثر .

/ : علامة الـ / الفاصلة بين العددين . 

[ .. ] : حاضنتين لتشكيل تجميعة . 

 $ : نهاية العبارة . 

فتكون العبارة كالتالي : 

^[0-9]+/[0-9]+$

أي نقبل فقط : الأرقام بين 0 و 9 , قابلة للتكرار / الأرقام بين 0 و 9 قابلة للتكرار .

و يكون كل ما هو ليس pos_num/pos_num غير مقبول .

أمثلة : 

12/100 مقبول في حين أن e0/100 غير مقبول .

تم التعديل في بواسطة Adnane Kadri

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...