Bài học theo mô-đun (2/4)
Phạm vi bên trong các lớp: `[a-z0-9]`
Liệt kê từng nhân vật một là tẻ nhạt. Các lớp học chấp nhận phạm vi
với dấu gạch nối -: [a-z] khớp với bất kỳ chữ cái viết thường nào, [0-9]
một chữ số, [A-Z] một chữ cái viết hoa.
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^Phạm vi sử dụng thứ tự điểm mã (về cơ bản là ASCII cho các ký tự Latinh):
a-z có nghĩa là "mọi ký tự từ điểm mã của a đến điểm mã của
z", tổng cộng 26 chữ cái.
Kết hợp phạm vi
Bên trong một lớp duy nhất, bạn có thể kết hợp nhiều phạm vi và ký tự riêng lẻ:
[a-zA-Z0-9_] identical to \\w (in ASCII)
[a-fA-F0-9] hexadecimal digits
[0-9.] digits or the dot (for decimal numbers)Thứ tự không quan trọng: [0-9a-z] và [a-z0-9] giống hệt nhau.
Phạm vi và thứ tự ký tự ASCII
Các phạm vi như [a-z] tuân thủ nghiêm ngặt thứ tự ký tự trong bảng ASCII. Việc viết một dải ô không hợp lệ, chẳng hạn như [z-a], sẽ gây ra lỗi biên dịch biểu thức chính quy. Dấu gạch ngang phải được đặt ở đầu hoặc cuối: [a-z-].
Hãy thử nó
Tìm mọi chuỗi thập lục phân gồm 6 ký tự (ví dụ: mã màu #1a2b3c). Các chữ số đi từ 0 đến 9, các chữ cái từ a đến f (chữ hoa hoặc chữ thường).
Hiển thị gợi ý
Thêm A-F vào phạm vi hoặc sử dụng cờ i.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Tìm mọi mã sản phẩm gồm 3 chữ in hoa theo sau là 4 chữ số (ví dụ: ABC1234).
Hiển thị gợi ý
Đối với các chữ số, bạn có thể sử dụng \\d hoặc phạm vi [0-9]: bài tập này yêu cầu [0-9] rõ ràng.
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
Tìm các ký tự hex trong văn bản (các chữ số 0-9 và các chữ cái A-F, cả chữ hoa và chữ thường).
Hiển thị gợi ý
Kết hợp ba phạm vi: 0-9, a-f, A-F.
Giải pháp khả dụng sau 3 lần thử