Regex для комментариев в строках, строк в комментариях и т. Д.

Этот вопрос я решил и хотел бы опубликовать в стиле Q & A, потому что я думаю, что больше людей могли бы использовать решение. Или, может быть, улучшить решение, показать, где оно ломается.

Эта проблема

Вы хотите сделать что-то с цитируемыми строками и / или комментариями в теле текста. Вы хотите извлечь их, выделить их, что у вас есть. Но некоторые строки в кавычках находятся внутри комментариев, а иногда комментарии-символы находятся внутри строк. И разделители строк могут быть экранированы, и комментарии могут быть строковыми комментариями или блокировать комментарии. А когда вы думали, что у вас есть решение, кто-то жалуется, что оно не работает, когда в его JavaScript есть литерал регулярных выражений. Что?

Конкретный пример

var ret = row.match(/'([^']+)'/i); // Get 1st single quoted string's content
if (!ret) return ''; /* return if there's no matches 
                        Otherwise turn into xml: */
var message = '\t<' + ret[1].replace(/\[1]/g, '').replace(/\/@(\w+)/i, ' $1=""') + '></' + ret[1].match(/[A-Z_]\w*/i)[0] + '>';

alert('xml: \'' + message + '\''); /*
alert("xml: '" + message + "'"); // */

var line = prompt('How do line-comments start? (e.g. //)', '//');

// do something with line

Этот код бессмыслица, но как мне поступить правильно в каждом из случаев вышеупомянутого JavaScript?

Единственное, что я нашел, это близко:Комментарии в строке и строки в комментариях где сам Ян Гойваертс ответил аналогичным подходом. Но этот человек еще не справился с побегом от апострофов.

Ответы на вопрос(1)

Ваш ответ на вопрос