الانتقال إلى المحتوى الرئيسي
الوحدة 3 · الدرس 4 من 412/32 في الدورة~10 min
دروس الوحدة (4/4)

خطوط فارغة وتقليم

دعونا ندمج نقاط التثبيت + علامة m للحصول على مصطلحين مفيدين للغاية: مطابقة الأسطر الفارغة وقص المسافة البيضاء في البداية/النهاية من كل سطر.

خطوط فارغة

السطر الفارغ هو الموضع الذي يتطابق فيه ^ و$: صفر أحرف بين بداية السطر ونهايته.

Code
Pattern: ^$
Flag:    gm
Sample:  uno\n\ndue\n\n\ntre

المطابقة هي عرض صفر: سيُظهر قلم التمييز علامة بينهما الاثنان \n. لمطابقة الأسطر "الفارغة ولكن مع مسافات" أيضًا، استخدم محمي_INLINE_4.

تقليم الخط

لإزالة المسافة البيضاء في بداية السطر أو نهايته، قم بدمج علامة الارتساء + فئة \s + محدد الكمية:

Code
^\s+    matches whitespace at the start of a line (can then be replaced with the empty string, module 7)
\s+$    matches whitespace at the end of a line

باستخدام العلامات gm، يمكنك جمع كل مسافة بيضاء في الهامش في كل سطر.

تحديد الخطوط الفارغة والمسافات الزائدة

تتم مطابقة السطر الفارغ تمامًا بواسطة ^$ (مع العلامة m). ومع ذلك، تحتوي العديد من الأسطر الفارغة ظاهريًا على مسافات أو علامات تبويب غير مرئية. يعترض النمط ^\\s*$ هذه الأسطر أيضًا، مما يجعل عملية تنظيف البيانات أسهل بكثير.

جربه

تمرين#regex.m3.l4.e1
المحاولات: 0جارٍ التحميل…

ابحث عن كل سطر فارغ في العينة (صفر أحرف بين سطرين جديدين). استخدم `^$` مع إشارات `gm`.

جارٍ تحميل المحرر…
إظهار التلميح

السطر الفارغ هو الموضع الذي يتطابق فيه ^ و$. العلم m إلزامي.

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#regex.m3.l4.e2
المحاولات: 0جارٍ التحميل…

ابحث عن المسافة البيضاء في نهاية كل سطر (أحرف المسافة البيضاء التي تسبق السطر الجديد). استخدم `\\s+$` مع إشارات `gm`.

جارٍ تحميل المحرر…
إظهار التلميح

\\s+ يتطابق مع حرف مسافة بيضاء واحد أو أكثر (بما في ذلك علامة التبويب). باستخدام gm، يمكنك التثبيت في نهاية كل سطر.

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#regex.m3.l4.e3
المحاولات: 0جارٍ التحميل…

Find all lines that start with the `#` character (entire comment lines, ignoring inline comments).

جارٍ تحميل المحرر…
إظهار التلميح

Use ^ at the start of the pattern to indicate that the comment character # must start the line.

الحل متاح بعد 3 من المحاولات