شاهدت تعطل التعبير العادي للكلمة (2025)

مشابه هذا

إعادة الإنتاج

  • تمكين تعبيرات الكلمات الخاضعة للمراقبة العادية
  • إجراء الكلمات الخاضعة للمراقبة العادية
  • التعبير العادي *abc

النتيجة

من المستحيل إنشاء مواضيع أو مشاركات

RegexpError (هدف عامل التكرار غير محدد: /(*abc)/i)
app/services/word_watcher.rb:239:in `initialize'
app/services/word_watcher.rb:239:in `new'
app/services/word_watcher.rb:239:in `word_matches?'
lib/topic_creator.rb:214:in `block in setup_tags'
lib/topic_creator.rb:213:in `each'
lib/topic_creator.rb:213:in `setup_tags'
lib/topic_creator.rb:48:in `create'
lib/post_creator.rb:493:in `create_topic'

السبب

  • * يعني “كرر الرمز السابق صفر مرة أو أكثر”
  • لا يوجد رمز سابق
إعجابَين (2)

إذًا، يجب التحقق من صحة التعبير العادي (regex) قبل السماح بإضافته؟ ويجب أن يكون هناك استرداد (rescue) حتى لا يتسبب تعبير عادي غير صالح في انهيار العالم بأسره؟

إعجاب واحد (1)

ما حدث بوضوح هنا هو أن الكلمات المراقبة كانت كلمات مراقبة عادية و * كان حرف البدل، ثم تم تمكين تمكين التعبيرات العادية للكلمات المراقبة.

لذلك هذا

إعجاب واحد (1)

حسنًا، الآن أصبح الأمر واضحًا عندما تقوله بهذه الطريقة. :rofl:

التحقق من صحة التعبير النمطي عند الحفظ يبدو منطقيًا جدًا.

وضع علامة pr-welcome على هذا، لكن الفريق سيقوم بالفرز ويقرر ما إذا كان من المنطقي القيام بذلك في الأسابيع القادمة لتوفير الدعم المستقبلي لنا.

إعجاب واحد (1)

هذا لن يمنع الأشخاص من إدخال تعبيرات “عادية” ذات أحرف بدل، ثم تشغيل تمكين تعبيرات الكلمات المراقبة، وهو ما حدث هنا.

إعجابَين (2)

شكراً على التقرير @RGJ، سيتم إصلاح هذا بواسطة

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 10 ساعات. لم يعد يُسمح بالردود الجديدة.