Vâng, cần thiết nếu thay thế có khả năng tạo ra các kết quả trùng khớp mới trong lần lặp tiếp theo. Nó không phải là rất lãng phí bởi vì nó chỉ và kiểm tra thêm tại tồi tệ nhất, mặc dù.
Đi theo mã phù hợp, có vẻ như không chắc sẽ tạo ra các kết quả trùng khớp mới bằng cách thay thế, tuy nhiên: nó rất nghiêm ngặt về nội dung phù hợp.
CHỈNH SỬA: Cụ thể hơn, nó cố gắng khớp với một dấu ngoặc nhọn mở theo sau một dấu gạch chéo theo sau là một trong nhiều từ khóa được theo sau bởi bất kỳ số biểu tượng nào không phải là một góc ngoặc đóng và cuối cùng là một khung góc đóng . Nếu đầu vào theo cú pháp đó, nó sẽ bị nuốt chửng toàn bộ. Nếu nó không đúng định dạng (ví dụ: nhiều dấu ngoặc nhọn mở và đóng), nó sẽ tạo ra rác cho đến khi nó không thể tìm thấy các đoạn mã khớp với chuỗi ban đầu nữa.
Vì vậy, không. Trừ khi bạn có mã như <<iframe>iframe>
, không cần lặp lại. Nhưng sau đó bạn đang đối phó với một mức độ tag súp regex là không đủ tốt cho anyway (ví dụ như nó sẽ thất bại trên < iframe>
với không gian thêm).
EDIT2: Cũng hơi lạ khi mẫu khớp với không hoặc nhiều hơn bị cắt ở đầu thẻ (số này phải bằng 0 hoặc 1). Và nếu kiến thức regex của tôi không quá tệ, thì *+
cuối cùng cũng không có ý nghĩa gì nhiều (dấu sao có nghĩa là 0 hoặc nhiều hơn, dấu cộng có nghĩa là một hoặc nhiều hơn, có thể đó là một cú pháp tham lam hoặc thứ gì đó lạ mắt như thế?).
Nguồn
2010-03-06 22:04:47