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