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

العلم `m`: متعدد الأسطر

باستخدام العلامة m (متعددة الأسطر) ضع علامة على نقاط الارتساء ^ و$ لتغيير المعنى: لم تعد بداية/نهاية السلسلة بأكملها، بل بداية/نهاية من كل سطر. يتم تحديد الخط بـ \n (أو ببداية/نهاية الخط سلسلة).

Code
Pattern: ^Errore
Flag:    gm
Sample:  Errore: A\nInfo: B\nErrore: C
         ^^^^^^         ^^^^^^

بدون m فإنه سيتطابق فقط مع Errore في البداية المطلقة لـ عينة (1 مباراة). مع m، فإنه يطابق بداية كل سطر (2 المباريات).

m لا يغير النقطة

هناك ارتباك شائع: العلم m لا يغير معنى النقطة محمي_INLINE_9. لا تزال النقطة غير متطابقة مع \n حتى مع m. لجعل النقطة قم بمطابقة كل ما تحتاجه بعلامة s (المشمولة في الوحدة 1).

m وs متعامدان: يمكنك استخدامهما معًا (ms)، بشكل منفصل، أو لا.

إشارة متعددة الأسطر ومعالجة سطرًا بسطر

تعدل العلامة m سلوك ^ و$ بجعلهما يتطابقان مع بداية ونهاية كل سطر (مفصول بـ \\n) داخل كتلة نصية متعددة الأسطر، بدلاً من النظر فقط إلى البداية والنهاية المطلقتين للسلسلة بأكملها.

جربه

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

ابحث عن كل سطر يبدأ بـ "خطأ". يتم فصل كل سطر بـ \\n؛ استخدم العلامات `g` و`m`.

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

العلامة m تجعل ^ يطابق بداية الأسطر الداخلية أيضًا، وليس فقط الحرف الأول المطلق.

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

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

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

ابحث عن كل سطر ينتهي بنقطة. استخدم المرساة `$` مع العلامتين `m` و`g`.

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

\\.$ مع إشارات gm يتطابق مع الفترة الموجودة في نهاية كل سطر، وليس فقط في نهاية العينة.

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

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

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

Find all lines in a multiline log that start exactly with the string `ID:` followed by a digit.

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

استخدم ^ قبل المعرف: وتأكد من أن علامة m نشطة.

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