У меня есть большой действительный файл JavaScript (utf-8), из которого мне нужно извлечь все текстовые строки автоматически.Поиск текстовых строк в JavaScript
Для простоты файл не содержит блоков комментариев в нем, только действительный код JavaScript ES6.
После того, как я считаю возникновение '
или "
или `, я должен сканировать конец текстового блока, где я застрял, учитывая все возможные варианты, как "'"
, '"'
,«\» " '\"', '"
, `\` `и т.д.
есть ли известно и/или повторное использование алгоритма для обнаружения конца действительного текстового блока ES6 JavaScript
ДОПОЛНЕНО-1: Мой файл JavaScript не просто большой, я также должен обрабатывать его как поток, в кусках, поэтому Regex абсолютно неприменим. хочу усложнить мой вопрос, упомянув совместные фрагменты кода, я сам это пойму, если у меня есть алгоритм, который может работать для одного фрагмента кода, который находится в памяти.
UPDATE-2: Я получил эту работу изначально, благодаря многим рекомендациям, приведенным здесь, но затем я снова застрял из-за регулярных выражений.
Примеры регулярных выражений, которые нарушают любой из методов обнаружения текста предложил до сих пор:
/'/
/"/
/\`/
Изучив этот вопрос ближе, прочитав это: How does JavaScript detect regular expressions?, я боюсь, что обнаружение регулярных выражений в JavaScript является совершенно новая игра с мячом, стоит отдельного вопроса, иначе она становится слишком сложной. Но я очень ценю, если кто-то может мне точку в правильном направлении, с этим вопросом ...
ДОПОЛНЕНО-3: После долгих исследований я обнаружил, с сожалением, что я не могу придумать алгоритм, который будет работать в моем потому что наличие регулярных выражений делает задачу невероятно сложной, чем первоначально предполагалось. В соответствии со следующим: When parsing Javascript, what determines the meaning of a slash?, определение начала и конца регулярных выражений в JavaScript является одной из самых сложных и запутанных задач. И без этого мы не можем понять, когда символы '
, '' 'и `открывают текстовый блок или находятся внутри регулярного выражения.
@connexo Я не могу использовать Regex в большом файле JavaScript. –
Вы могли бы привести пример? – saruftw
@ saru95 какой пример? Текстовой строки JavaScript? –