لحل هذه المشكلة، يمكنك استخدام negative lookahead assertion لاستبعاد الأنماط التي لا ترغب فيها. في هذه الحالة، تريد استبعاد colspan
من العنصر
مقالات ذات صلة
.التعبير العادي الذي استخدمته لاختيار السمات HTML هو ((\w+)="[a-zA-Z#-:0-9 ;]*")
، يمكن تعديله ليستبعد colspan
عن طريق إضافة negative lookahead assertion قبل (\w+)
:
ruby((?!colspan)\w+)="[a-zA-Z#-:0-9 ;]*"
هذا التعبير يعمل عندما تكون السمة التي تحتوي على القيمة المطابقة للنمط الثاني ("[a-zA-Z#-:0-9 ;]*"
) ليست “colspan”.
المزيد من المعلومات
بالتأكيد! ال negative lookahead assertion هو جزء من تعبيرات ال regex التي تسمح لك بتحديد نمط يجب ألا يظهر بعد النقطة التي يتم تحديدها. في هذه الحالة، ((?!colspan)\w+)
يعني “اختر أي سلسلة من الحروف والأرقام (\w+
) التي ليست تحتوي على كلمة ‘colspan'”.
هذا يعتمد على أن ال negative lookahead assertion يبدأ بـ (?!
وينتهي بـ )
، ويأتي بينهما النمط الذي يجب تجنبه.