مرکزی مواد پر جائیں
eLearner.app
ماڈیول 3 · سبق 3 از 4کورس میں 11/32~10 min
ماڈیول اسباق (3/4)

`m` پرچم: ملٹی لائن

With the m (multiline) flag the anchors ^ and $ change meaning: they are no longer start/end of the entire string, but start/end of each line. A line is delimited by \n (or by the start/end of the string).

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

Without m it would match only Errore at the absolute start of the sample (1 match). With m, it matches the start of every line (2 matches).

m does NOT change the dot

A common confusion: the m flag does NOT change the meaning of the dot .. The dot still does NOT match \n even with m. To make the dot match everything you need the s flag (covered in module 1).

m and s are orthogonal: you can use them together (ms), separately, or neither.

Multiline flag and line-by-line processing

The m flag modifies the behavior of ^ and $ by making them match the start and end of each line (delimited by \\n) within a multiline text block, instead of looking only at the absolute start and end of the entire string.

Try it

ورزش#regex.m3.l3.e1
کوششیں: 0لوڈ ہو رہا ہے…

Find every line that starts with `ERROR`. Each line is separated by \\n; use flags `g` and `m`.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

The m flag makes ^ match the start of inner lines too, not only the absolute first character.

3 کوششوں کے بعد حل دستیاب ہے۔

Review exercise

ورزش#regex.m3.l3.e2
کوششیں: 0لوڈ ہو رہا ہے…

Find every line that ENDS with a period. Use the `$` anchor with flags `m` and `g`.

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

\\.$ with gm flags matches the period at the end of every line, not only at the end of the sample.

3 کوششوں کے بعد حل دستیاب ہے۔

Additional challenge

ورزش#regex.m3.l3.e3
کوششیں: 0لوڈ ہو رہا ہے…

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

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

Use ^ before ID: and make sure the m flag is active.

3 کوششوں کے بعد حل دستیاب ہے۔