You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В примере скобки используются для создания повторяющейся группы `pattern:(...)+`. Но есть и другие применения. Посмотрим на них.
46
+
В этом примере скобки были использованы для создания повторяющейся группы `pattern:(...)+`. Но есть и другие применения. Посмотрим на них.
47
47
48
48
## Содержимое скобок
49
49
50
-
Группы скобок нумеруются слева направо. Поисковый движок запоминает содержимое в каждой группе и позволяет ссылаться на него в шаблоне регулярного выражения или строке для замены.
50
+
Скобочные группы нумеруются слева направо. Поисковой движок запоминает содержимое, которое "поймала" каждая группа, и позволяет ссылаться на него в шаблоне регулярного выражения или строке для замены.
51
51
52
52
Например, мы хотим найти HTML теги `pattern:<.*?>` и обработать их.
53
53
54
54
Давайте заключим внутреннее содержимое в круглые скобки: `pattern:<(.*?)>`.
55
55
56
-
Соберём их в массив:
56
+
Мы получим как тег целиком, так и его содержимое в виде массива:
57
57
58
58
```js run
59
59
let str ='<h1>Hello, world!</h1>';
@@ -62,7 +62,7 @@ let reg = /<(.*?)>/;
62
62
alert( str.match(reg) ); // Array: ["<h1>", "h1"]
63
63
```
64
64
65
-
Вызов [String#match](mdn:js/String/match) возвращает группы, только если регулярное выражение не имеет флага `pattern:/.../g`.
65
+
Вызов [String#match](mdn:js/String/match) возвращает группы, лишь если регулярное выражение ищет только первое совпадение, то есть не имеет флага `pattern:/.../g`.
66
66
67
67
Если необходимы все совпадения с их группировкой, то мы можем использовать `.matchAll` или `regexp.exec`, как описано в <info:regexp-methods>:
0 commit comments