en.javascript.info/10-regular-expressions-javascript/07-regexp-greedy-and-lazy/2-difference-find-quote/solution.md
Ilya Kantor e2443e8de6 ok
2017-03-19 16:59:53 +03:00

891 B
Raw Blame History

Они очень похожи и, да, почти одинаковы. Оба ищут от одной кавычки до другой.

Различие здесь в символе точка pattern:'.'. Как мы помним, точка pattern:'.' обозначает любой символ, кроме перевода строки.

А pattern:[^"] -- это *любой символ, кроме кавычки pattern:'"'.

Получается, что первый регэксп pattern:"[^"]*" найдёт закавыченные строки с \n внутри, а второй регэксп pattern:".*?" -- нет.

Вот пример:

alert( '"многострочный \n текст"'.match(/"[^"]*"/) ); // найдёт

alert( '"многострочный \n текст"'.match(/".*?"/) ); // null (нет совпадений)