Bài học theo mô-đun (2/4)
Thay thế: `|`
pipe | là OR của biểu thức chính quy: mẫu khớp nếu một trong các
các lựa chọn thay thế phù hợp. Độ ưu tiên của nó rất thấp: | tách biệt mọi thứ
ở bên trái và bên phải của nó cho đến nhóm kèm theo hoặc điểm bắt đầu của mẫu.
Pattern: cane|gatto|criceto
Sample: Ho un cane, un gatto e un criceto.
^^^^ ^^^^^ ^^^^^^^Ưu tiên của các dấu ngoặc đơn
Không có dấu ngoặc đơn, các lựa chọn thay thế sẽ trải dài từ đầu đến cuối mẫu. Gần như bạn luôn muốn giới hạn OR ở một phần của mẫu: gói nó vào một nhóm.
Pattern Significato (errato vs corretto)
^a|b$ "inizio + a" oppure "b + fine" (probabilmente sbagliato)
^(a|b)$ "inizio + (a oppure b) + fine" (probabilmente giusto)Về thứ tự điển hình của các lựa chọn thay thế: đặt nhất
những cái cụ thể/dài nhất trước tiên. Động cơ cố gắng di chuyển từ trái sang phải và dừng ở
cái đầu tiên khớp: gat|gatto sẽ luôn chỉ khớp gat.
Ưu tiên và cô lập các lựa chọn thay thế
Toán tử | có mức độ ưu tiên rất thấp. Nếu bạn viết ^abc|def$, bạn đang tìm kiếm "một chuỗi bắt đầu bằng abc HOẶC một chuỗi kết thúc bằng def". Để tìm "bắt đầu chuỗi theo sau là abc hoặc def, theo sau là cuối chuỗi", bạn phải viết ^(abc|def)$.
Hãy thử nó
Tìm mọi lần xuất hiện của ba con vật `mía`, `gatto`, `criceto` trong văn bản (theo bất kỳ thứ tự nào).
Hiển thị gợi ý
Đường ống ngăn cách các lựa chọn thay thế. Sử dụng cờ g để bắt tất cả.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
CHỈ tìm các từ `gennaio` hoặc `febbraio` dưới dạng toàn bộ từ (sử dụng `\\b` để tránh khớp bên trong các từ dài hơn). Sử dụng dấu ngoặc đơn để hạn chế sự thay thế.
Hiển thị gợi ý
\\b(gennaio|febbraio)\\b neo sự lựa chọn vào toàn bộ từ.
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
Tìm tên tệp kết thúc bằng phần mở rộng `.jpg`, `.png` hoặc `.gif`.
Hiển thị gợi ý
Sử dụng đường ống bên trong một nhóm để xen kẽ giữa các phần mở rộng.
Giải pháp khả dụng sau 3 lần thử