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