RegEx: захват всего текста между кавычками (включая вложенные), за исключением случаев, когда в строке комментария (начиная с //) - PullRequest
2 голосов
/ 17 апреля 2019

Я пытаюсь собрать выражение, которое будет захватывать текст между кавычками (одинарные или двойные), включая текст во вложенных кавычках, но игнорирует текст в комментариях, поэтому, за исключением случаев, когда строка начинается с //.

Пример кода:

// this is a "comment" and should be ignored
//this is also a 'comment' and should be ignored

printf("This is text meant to be "captured", and can include any type of character");
printf("This is the same as above, only with 'different' nested quotes");

Это может быть весьма полезно для извлечения переводимого содержимого из файла.

До сих пор мне удавалось использовать ^((?!\/\/).)* для исключения строк комментариевот импорта и ["'](.+)["'] для извлечения текста между кавычками, но я не смог объединить его в одном выражении.Запуск их в последовательности также не работает, я думаю, из-за жадного квантификатора в первом выражении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...