メインコンテンツにスキップ
モジュール 3 · レッスン 3 / 4コース内の 11/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 フラグはドットの意味を変更しません .。 m であっても、ドットは依然として \n と一致しません。ドットを作るには 必要なものすべてに一致します s フラグ (モジュール 1 で説明)。

m と s は直交しています。これらを個別に一緒に使用したり (ms)、 あるいはどちらでもない。

複数行のフラグと行ごとの処理

m フラグは、文字列全体の絶対的な開始と終了だけを調べるのではなく、複数行のテキスト ブロック内の各行の開始と終了 (\\n で区切られる) を一致させることにより、^ と $ の動作を変更します。

試してみてください

運動#regex.m3.l3.e1
試行回数: 0読み込み中…

「ERROR」で始まるすべての行を検索します。各行は \\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.

エディターを読み込み中…
ヒントを表示

ID: の前に ^ を使用し、m フラグがアクティブであることを確認してください。

3 回の試行後に解決策が利用可能になります