2011-11-30 26 views
10

Tôi đang viết một trình phân tích cú pháp JS, và tôi tự hỏi làm thế nào để phân biệt giữa một biểu thức chính quy (/lookup/g) và phân chia đơn giản (bar/baz/g). Các quy tắc mà JavaScript sử dụng để xác định các cụm từ thông dụng là gì?JavaScript phát hiện các biểu thức chính quy như thế nào?

+1

trước '/'? –

Trả lời

10

Bạn muốn kiểm tra Section 7.8.5 trong thông số ECMA (phiên bản chú thích được cập nhật hiện tại, nhưng luôn kiểm tra latest PDF from the ECMA).

Hãy nhớ rằng quá trình kiểm tra JavaScript không được để trống. //luôn luôn bắt đầu nhận xét một dòng. Nó cũng đáng nói đến một dấu chấm phẩy không bao giờ được chèn vào trước một chữ regex.

Tiếp tuyến, trống JavaScript regex trông giống như /(?:)/.

Further discussion.

+0

Lưu ý rằng ngữ pháp dường như đã thay đổi một chút trong [phiên bản mới nhất] (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf). –

+0

@AndrewMarshall: Tôi sẽ liên kết rằng nếu nó ở định dạng HTML - bạn có biết liệu có tồn tại không? Cảm ơn. – alex

+0

Yea đó là lý do tại sao tôi đoán bạn đã liên kết với phiên bản đó thay thế. Và không, tôi không, thật không may. Tôi chỉ muốn thêm liên kết vào phiên bản mới nhất vì mục đích đầy đủ. –

Các vấn đề liên quan