Cờ s trong biểu thức chính quy Regular
Chào các bạn
Trong bài viết này mình sẽ nói về cờ s trong biểu thức chính quy Regular
Cờ s
Cờ s có tác dụng dụng giúp cho định lượng chấm . không phân biệt \n.
Bình thường khi không có cờ s thì dấu chấm . sẽ phù hợp với bất kỳ ký tự nào ngoại trừ một dòng mới \n
- Trận đấu /.+/
1let str = `0 Hồ Quang Trí\n&`; 2 3let reg = /.+/; 4 5let ketQua = str.match(reg); 6 7console.log(ketQua); // ['0 Hồ Quang Trí', index: 0, input: '0 Hồ Quang Trí\n&', groups: undefined]
Như các bạn có thể thấy. Dấu chấm . phù hợp với bất kỳ ký tự nào ngoại trừ một dòng mới \n. Nên định lượng tham lam cộng + sẽ tiêu thụ nhiều ký tự nhất có thể. Nhưng đến \n thì dấu chấm . sẽ không khớp nữa nên sẽ dừng lại.
Nếu chúng ta thêm cờ s cho nó. Thì hành vi định lượng chấm . sẽ thay đổi. Nó sẽ chạy đến hết chuỗi.
- Trận đấu /.+/s
1let str = `0 Hồ Quang Trí\n&`; 2 3let reg = /.+/s; 4 5let ketQua = str.match(reg); 6 7console.log(ketQua); // ['0 Hồ Quang Trí\n&', index: 0, input: '0 Hồ Quang Trí\n&', groups: undefined]
Bây giờ thì nhờ cờ s nên đầu ra chúng ta đã khác. Nhờ cờ s mà hành vi định lượng chấm . cũng thay đổi.
Tổng kết
Trong bài viết này mình đã nói vể cờ s. Nó cũng không có gì khó. Nhiệm vụ của các bạn chỉ cần nhớ. Cờ s giúp cho định lượng chấm . không phân biệt dòng mới \n
[Ok] hẹn gặp lại bạn ở bài viết khác.
- cờ
- string
- chuỗi
- object
- function
Các bài viết liên quan
Các phương pháp và tài sản của lớp String
Chúng ta cùng tìm hiểu qua các phương pháp và tài sản của lớp String nhé.JavascriptBiên giới trong biểu thức chính quy regular
Biên giới \b cũng rất quan trọng. Các bạn học Regexp thì cũng bắt buộc phải biếtRegularCác phương pháp tỉnh Object.keys values entries
Cùng nhau tìm hiểu về các phương pháp tỉnh Object.keys() Object.values() Object.entries()Javascript