Они очень похожи и, да, *почти* одинаковы. Оба ищут от одной кавычки до другой. Различие здесь в символе точка '.'. Как мы помним, точка '.' обозначает *любой символ, кроме перевода строки*. А [^"] -- это *любой символ, кроме кавычки '"'. Получатся, что первый регэксп "[^"]*" найдёт закавыченные строки с `\n` внутри, а второй регэксп ".*?" -- нет. Вот пример: ```js //+ run alert( '"многострочный \n текст"'.match(/"[^"]*"/) ); // найдёт alert( '"многострочный \n текст"'.match(/".*?"/) ); // null (нет совпадений) ```