Chuyển đến nội dung chính
Mô-đun 3 · Bài học 3 trong tổng số 411/32 trong khóa học~10 min
Bài học theo mô-đun (3/4)

Cờ `m`: nhiều dòng

Với cờ m (nhiều dòng), các neo ^ và $ thay đổi ý nghĩa: chúng không còn là phần bắt đầu/kết thúc của toàn bộ chuỗi nữa mà là phần bắt đầu/kết thúc của mỗi dòng. Một dòng được phân cách bởi \n (hoặc bởi điểm bắt đầu/kết thúc của chuỗi).

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

Nếu không có m nó sẽ chỉ khớp với Errore ở điểm bắt đầu tuyệt đối của mẫu (1 trận). Với m, nó khớp với phần đầu của mỗi dòng (2 trận đấu).

m KHÔNG thay đổi dấu chấm

Một sự nhầm lẫn phổ biến: cờ m KHÔNG thay đổi ý nghĩa của dấu chấm .. Dấu chấm vẫn KHÔNG khớp với \n ngay cả với m. Để làm dấu chấm khớp mọi thứ bạn cần với cờ s (được đề cập trong mô-đun 1).

m và s trực giao: bạn có thể sử dụng chúng cùng nhau (ms), riêng biệt, hoặc không.

Cờ nhiều dòng và xử lý từng dòng

Cờ m sửa đổi hành vi của ^ và $ bằng cách làm cho chúng khớp với phần đầu và phần cuối của mỗi dòng (được phân cách bằng \\n) trong khối văn bản nhiều dòng, thay vì chỉ nhìn vào phần đầu và phần cuối tuyệt đối của toàn bộ chuỗi.

Hãy thử nó

tập thể dục#regex.m3.l3.e1
Nỗ lực: 0Đang tải…

Tìm mọi dòng bắt đầu bằng `ERROR`. Mỗi dòng được phân tách bằng \\n; sử dụng cờ `g` và `m`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Cờ m làm cho ^ cũng khớp với phần đầu của các dòng bên trong, không chỉ ký tự đầu tiên tuyệt đối.

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#regex.m3.l3.e2
Nỗ lực: 0Đang tải…

Tìm mọi dòng KẾT THÚC bằng một dấu chấm. Sử dụng neo `$` với cờ `m` và `g`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

\\.$ với cờ gm khớp với dấu chấm ở cuối mỗi dòng, không chỉ ở cuối mẫu.

Giải pháp khả dụng sau 3 lần thử

Thử thách bổ sung

tập thể dục#regex.m3.l3.e3
Nỗ lực: 0Đang tải…

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

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng ^ trước ID: và đảm bảo cờ m đang hoạt động.

Giải pháp khả dụng sau 3 lần thử