التعبير العادي البديل لـ Lookbehind السلبي في JavaScript
في JavaScript، لا يتم دعم تأكيدات lookbehind السلبية بشكل مباشر. ومع ذلك، هناك طرق لتحقيق وظائف مماثلة.
ضع في اعتبارك التعبير العادي التالي:
(?يطابق هذا التعبير العادي السلاسل التي تنتهي بـ .js باستثناء filename.js. في تطبيقات regex التي تدعم lookbehind، سيعمل هذا التعبير على النحو المنشود.
بديل باستخدام Negative Lookahead
نظرًا لأن JavaScript لا يحتوي على lookbehind، يمكننا استخدام lookbehind السلبي بدلاً من ذلك:^(?:(؟!filename\.js$).)*\.js$^(?:(?!filename\.js$).)*\.js$يتحقق هذا التعبير بشكل صريح من كل حرف في السلسلة للتأكد من تأكيد البحث الخلفي السلبي (؟!filename\.js$) بالإضافة إلى التعبير العادي المتبقي لن يتطابق. إذا لم يكن متطابقًا، يُسمح للحرف بالمطابقة.
الإصدار المبسط بالنسبة لإصدارات JavaScript قبل ECMAScript 2018، يمكن استخدام الإصدار المبسط التالي:
^(؟!.*filename\.js$).*\.js$
^(?!.*filename\.js$).*\.js$
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3