"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخراج نص متعدد الأسطر بين العلامات في JavaScript باستخدام Regex؟

كيفية استخراج نص متعدد الأسطر بين العلامات في JavaScript باستخدام Regex؟

تم النشر بتاريخ 2024-11-19
تصفح:769

How to Extract Multiline Text Between Tags in JavaScript with Regex?

التعبير العادي لاستخراج نص متعدد الأسطر بين علامتين في JavaScript

أنت تواجه تحديات في استخراج النص من سلسلة HTML باستخدام نمط التعبير العادي . على وجه التحديد، يبدو أن العلامة متعددة الأسطر (/m) لا تعمل عند وجود أسطر جديدة في HTML.

لمعالجة هذه المشكلة، تحتاج إلى استخدام معدّل "/.../s"، يشار إليه عادة باسم معدّل "dotall". ومع ذلك، من المهم ملاحظة أن هذا المعدل غير موجود في Vanilla JavaScript.

الحلول بدون Dotall Modifier:

إذا لم تتمكن من استخدام العلامة /s في بيئة جافا سكريبت الحالية لديك، فكر في حل بديل باستخدام فئة أحرف تتضمن كلاً من المسافات البيضاء والأحرف التي لا تحتوي على مسافات بيضاء:

[\s\S]

في حالتك، سيبدو التعبير العادي كما يلي :

/<div>

جافا سكريبت الحديثة: دعم Dotall Modifier

في بيئات JavaScript الحديثة التي تدعم ES2018، يمكنك استخدام " علامة /s" (dotAll). هذه العلامة تجعل حرف النقطة (.) في التعبير العادي يطابق أحرف السطر الجديد أيضًا.

لذلك، يمكن إعادة كتابة التعبير العادي الأصلي الخاص بك باستخدام العلامة /s:

/<div>

باستخدام معدل dotall (/s) أو الحل البديل الخاص به ([\s\S])، يمكنك التأكد من أن نمط التعبير العادي الخاص بك يتطابق بنجاح مع النص متعدد الأسطر بين علامات HTML المحددة، حتى في حالة وجود أسطر جديدة داخل ذلك نص.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3