البحث عن أعداد صحيحة غير سالبة
هناك سلسلة من الأعداد الصحيحة. أنشئ تعبيرًا عاديًا لا يبحث إلا عن الكلمات غير السلبية (يُسمح بصفر).
مثال للاستخدام:
let regexp = /your regexp/g;
let str = "0 12 -5 123 -18";
alert( str.match(regexp) ); // 0, 12, 123
regexp لرقم صحيح هو \ d +
.
We can exclude negatives by prepending it with the negative lookbehind: (?<!-)\d+
.
على الرغم من أننا إذا جربناها الآن ، فقد نلاحظ نتيجة “إضافية” أخرى:
let regexp = /(?<!-)\d+/g;
let str = '0 12 -5 123 -18';
console.log(str.match(regexp)); // 0, 12, 123, 8
كما ترون ، فإنه يطابق المباراة: 8
، منالموضوع: -18
. لاستبعاده ، نحتاج إلى التأكد من أن regexp يبدأ في مطابقة رقم ليس من منتصف رقم آخر (غير مطابق).
يمكننا القيام بذلك عن طريق تحديد مظهر سلبي آخر خلف: (؟ <! -) (؟ <! \ d) \ d +
. الآن النمط: (؟ <! \ d)
يضمن أن المطابقة لا تبدأ بعد رقم آخر ، فقط ما نحتاجه.
يمكننا أيضًا أن ننضم إليهم في lookbehind خلفنا هنا:
let regexp = /(?<![-\d])\d+/g;
let str = '0 12 -5 123 -18';
alert(str.match(regexp)); // 0, 12, 123