שיעורי מודול (3/4)
דגל 'm': רב קו
עם הדגל m (רב שורות) העוגנים ^ ו$ משנים את המשמעות:
הם כבר לא התחלה/סוף של המחרוזת כולה, אלא התחלה/סוף של
כל שורה. קו מופרד על ידי \n (או על ידי ההתחלה/סוף של
מחרוזת).
Pattern: ^Errore
Flag: gm
Sample: Errore: A\nInfo: B\nErrore: C
^^^^^^ ^^^^^^ללא m זה יתאים רק ל-Errore בתחילת המוחלט של
מדגם (התאמה אחת). עם m, הוא תואם את ההתחלה של כל שורה (2
גפרורים).
m לא משנה את הנקודה
בלבול נפוץ: הדגל m לא משנה את משמעות הנקודה
.. הנקודה עדיין לא תואמת את \n אפילו עם m. לעשות את הנקודה
התאם את כל מה שאתה צריך את הדגל s (מכוסה במודול 1).
m וs הם אורתוגונליים: ניתן להשתמש בהם יחד (ms), בנפרד,
או לא.
דגל מרובה שורות ועיבוד שורה אחר שורה
הדגל m משנה את ההתנהגות של ^ ו$ על ידי כך שהם מתאימים את ההתחלה והסוף של כל שורה (מופרדים על ידי \\n) בתוך בלוק טקסט מרובה שורות, במקום להסתכל רק על המחרוזת המוחלטת של ההתחלה והסוף.
נסה את זה
מצא כל שורה שמתחילה ב-'ERROR'. כל שורה מופרדת על ידי \\n; השתמש בדגלים 'g' ו-'m'.
הצג רמז
הדגל m גורם ל-^ להתאים גם לתחילת השורות הפנימיות, לא רק לתו הראשון המוחלט.
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
מצא כל שורה שמסתיימת בנקודה. השתמש בעוגן `$` עם הדגלים `m` ו-`g`.
הצג רמז
\\.$ עם דגלי gm תואם את הנקודה בסוף כל שורה, לא רק בסוף המדגם.
הפתרון זמין לאחר 3 ניסיונות
אתגר נוסף
Find all lines in a multiline log that start exactly with the string `ID:` followed by a digit.
הצג רמז
השתמש ב-^ לפני ID: וודא שהדגל m פעיל.
הפתרון זמין לאחר 3 ניסיונות