البرمجة

استخراج الأرقام من سلسلة باستخدام Regex

عندما يتعلق الأمر بالحصول على القيم من سلسلة نصية معينة مثل السلسلة التي ذكرتها، يمكن استخدام التعبيرات العادية (Regex) لتحديد الأنماط المطلوبة. في هذه الحالة، يمكن استخدام Regex لاستخراج الأرقام من السلسلة.

في PHP، يمكن استخدام الدالة preg_match_all() للبحث عن جميع الأرقام في السلسلة باستخدام التعبير العادي المناسب. بينما في جافاسكريبت، يمكن استخدام الدالة match() أو exec() مع ال Regex.

فيما يلي كيفية تنفيذ ذلك في كل من PHP وجافاسكريبت:

في PHP:

php
$string = "[(33, 165) (1423, 254)]"; $matches = []; preg_match_all('/\d+/', $string, $matches); $numbersArray = $matches[0]; print_r($numbersArray);

في هذا الكود، تُعبّر '/\d+/' عن أي تتالي من الأرقام، ويتم استخدام preg_match_all() للعثور على جميع الأرقام في السلسلة. ثم يتم تخزين الأرقام المطابقة في $numbersArray.

أما في جافاسكريبت:

javascript
let string = "[(33, 165) (1423, 254)]"; let regex = /\d+/g; let matches = string.match(regex); let numbersArray = matches.map(Number); console.log(numbersArray);

هنا، يستخدم /d+/ للعثور على جميع التتاليات الرقمية في السلسلة باستخدام match()، ثم يتم تحويلها إلى أرقام باستخدام map(Number).

بهذه الطريقة، يمكنك الآن الحصول على القيم من السلسلة المعطاة وتخزينها في مصفوفة بغض النظر عن لغة البرمجة التي تستخدمها، سواء PHP أو جافاسكريبت.

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

بالطبع، دعني أوضح بعض المزيد من المعلومات حول كيفية استخدام التعبيرات العادية في كل من PHP وجافاسكريبت لاستخراج القيم من السلسلة المعطاة.

في PHP، يُستخدم التعبير العادي /\d+/ للبحث عن أي تتالي من الأرقام في السلسلة. الشرط \d+ يعبر عن تتالي من الأرقام العشرية. وحرف + يدل على أن النمط الذي يسبقه يجب أن يظهر مرة واحدة أو أكثر.

باستخدام الدالة preg_match_all(), يتم البحث عن جميع الفترات التي تطابق النمط المحدد في السلسلة. ويتم تخزين النتائج في مصفوفة متعددة الأبعاد، حيث يتم تخزين القيم المطابقة في الفهرس الأول من المصفوفة $matches.

أما في جافاسكريبت، يُستخدم النمط \d+ بنفس الطريقة للبحث عن تتاليات الأرقام في السلسلة. الفرق الرئيسي هو أننا نستخدم الدالة match() للبحث عن جميع الفترات التي تطابق النمط في السلسلة، وتُخزن القيم المطابقة في مصفوفة.

من ثم، باستخدام map(Number) في جافاسكريبت، يتم تحويل كل عنصر في المصفوفة إلى نوع البيانات رقميًا، مما يجعل القيم جاهزة للاستخدام كأرقام في التعاملات الحسابية أو العمليات الأخرى.

بهذه الطريقة، يمكنك استخدام التعبيرات العادية في PHP وجافاسكريبت للحصول على القيم من السلسلة المعطاة بسهولة وفاعلية.

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