Tôi đang thực hiện phân tích cú pháp thô của mã javascript, với javascript. Tôi sẽ tiết lộ chi tiết của lý do tại sao Tôi cần làm điều này, nhưng đủ để nói rằng tôi không muốn tích hợp một đoạn mã thư viện khổng lồ, vì nó không cần thiết cho mục đích của tôi và điều quan trọng là tôi giữ điều này rất nhẹ và tương đối đơn giản. Vì vậy, xin vui lòng không đề nghị tôi sử dụng JsLint hoặc bất cứ điều gì như thế. Nếu câu trả lời là nhiều mã hơn bạn có thể dán vào câu trả lời của bạn, nó có thể nhiều hơn tôi muốn.tìm các cụm từ biểu thức chính quy trong một chuỗi mã javascript
Mã của tôi hiện có thể thực hiện tốt công việc phát hiện các phần và nhận xét được trích dẫn, sau đó đối sánh dấu ngoặc nhọn và dấu ngoặc đơn (đảm bảo không bị nhầm lẫn bởi dấu ngoặc kép và nhận xét hoặc thoát trong dấu ngoặc kép). . Đây là tất cả những gì tôi cần để làm, và nó thực hiện tốt ... với một ngoại lệ:
Nó có thể bị nhầm lẫn bởi các biểu thức chính quy. Vì vậy, tôi hy vọng cho một số trợ giúp với phát hiện literals biểu thức chính quy trong một chuỗi javascript, vì vậy tôi có thể xử lý chúng một cách thích hợp.
Something như thế này:
function getRegExpLiterals (stringOfJavascriptCode) {
var output = [];
// todo!
return output;
}
var jsString = "var regexp1 = /abcd/g, regexp1 = /efg/;"
console.log (getRegExpLiterals (jsString));
// should print:
// [{startIndex: 13, length: 7}, {startIndex: 32, length: 5}]
Bất kỳ literals biểu thức chính quy? Nếu bạn chỉ muốn những gì trong // đó là dễ dàng để làm. – FailedDev
Tôi cần phải chắc chắn nó là một regex chữ, vì vậy chỉ cần tìm slashes sẽ không làm điều đó. – rob