поиск литералов регулярных выражений в строке кода javascript

Я выполняю своего рода грубый синтаксический анализ кода 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}]
5
задан rob 29 October 2011 в 02:23
поделиться