Я выполняю своего рода грубый синтаксический анализ кода javascript , с помощью javascript. Я избавлю вас от подробностей , почему мне это нужно, но достаточно сказать, что я не хочу интегрировать огромный кусок библиотечного кода, поскольку он не нужен для мои цели, и важно, чтобы я оставил это очень легким и относительно простым. Поэтому, пожалуйста, не предлагайте мне использовать JsLint или что-то в этом роде. Если ответ - это больше кода, чем вы можете вставить в свой ответ, вероятно, это больше, чем я хочу.
Мой код в настоящее время способен хорошо выполнять работу по обнаружению цитируемых разделов и комментариев, а затем сопоставлять фигурные скобки, скобки и скобки (конечно, убедитесь, что кавычки и комментарии не сбивают вас с толку, или, конечно, экранирование внутри кавычек). Это все, что мне нужно, и он делает это хорошо ... с одним исключением:
Его могут сбить с толку литералы регулярных выражений. Поэтому я надеюсь на некоторую помощь в обнаружении литералов регулярных выражений в строке javascript, чтобы я мог обрабатывать их соответствующим образом.
Примерно так:
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}]