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