Skip to content

Commit b6b017b

Browse files
committed
ревью
1 parent 7c664ca commit b6b017b

3 files changed

Lines changed: 24 additions & 24 deletions

File tree

9-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ let reg = /\.{3,}/g;
66
alert( "Привет!... Как дела?.....".match(reg) ); // ..., .....
77
```
88

9-
Обратите внимание, что точка - это специальный символ. Мы должны экранировать её, то есть использовать такую запись `\.`.
9+
Обратите внимание, что точка - это специальный символ. Мы должны экранировать её, то есть вставлять как `\.`.

9-regular-expressions/07-regexp-quantifiers/1-find-text-manydots/task.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ importance: 5
22

33
---
44

5-
# Как найти эллипсис "..." ?
5+
# Как найти многоточие "..." ?
66

7-
Напишите регулярное выражение, которое ищет эллипсис (3 и более точек подряд).
7+
Напишите регулярное выражение, которое ищет многоточие (3 и более точек подряд).
88

99
Проверьте его:
1010

9-regular-expressions/07-regexp-quantifiers/article.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88

99
Самый простой квантификатор — это число в фигурных скобках: `pattern:{n}`.
1010

11-
Он добавляется к символу (или символу класса, или `[...]` набору символов и т.д.) и указывает, сколько их нам нужно.
11+
Он добавляется к символу (или символьному классу, или набору `[...]` и т.д.) и указывает, сколько их нам нужно.
1212

13-
У него есть несколько вариантов использования, давайте посмотрим примеры:
13+
У него есть несколько вариантов, давайте посмотрим примеры:
1414

1515
Точное количество: `{5}`
16-
: Паттерн `pattern:\d{5}` обозначает ровно 5 цифр, в точности как `pattern:\d\d\d\d\d`.
16+
: Шаблон `pattern:\d{5}` обозначает ровно 5 цифр, он эквивалентен `pattern:\d\d\d\d\d`.
1717

1818
Следующий пример находит пятизначное число:
1919

@@ -24,23 +24,23 @@
2424
Мы можем добавить `\b`, чтобы исключить числа длиннее: `pattern:\b\d{5}\b`.
2525

2626
Диапазон: `{3,5}`, от 3 до 5
27-
: Для того, чтобы найти числа c разрядностью от 3 до 5, мы можем указать границы в фигурных скобках: `pattern:\d{3,5}`
27+
: Для того, чтобы найти числа c разрядностью от 3 до 5 цифр, мы можем указать границы в фигурных скобках: `pattern:\d{3,5}`
2828

2929
```js run
3030
alert( "Мне не 12, а 1234 года".match(/\d{3,5}/) ); // "1234"
3131
```
3232

33-
Мы можем не указывать последнее значение.
33+
Верхнюю границу можно не указывать.
3434

35-
Тогда паттерн `pattern:\d{3,}` найдет последовательность чисел длиной от `3` и более цифр:
35+
Тогда шаблон `pattern:\d{3,}` найдет последовательность чисел длиной `3` и более цифр:
3636

3737
```js run
3838
alert( "Мне не 12, а 345678 лет".match(/\d{3,}/) ); // "345678"
3939
```
4040

4141
Давайте вернёмся к строке `+7(903)-123-45-67`.
4242

43-
Число - это последовательность из одной или более цифр. Поэтому паттерн будет `pattern:\d{1,}`:
43+
Число - это последовательность из одной или более цифр. Поэтому шаблон будет `pattern:\d{1,}`:
4444

4545
```js run
4646
let str = "+7(903)-123-45-67";
@@ -55,7 +55,7 @@ alert(numbers); // 7,903,123,45,67
5555
Для самых востребованных квантификаторов есть сокращённые формы записи:
5656

5757
`+`
58-
: Означает «один или более». То же самое, что и `{1,}`.
58+
: Означает "один или более". То же самое, что и `{1,}`.
5959

6060
Например, `pattern:\d+` находит числа:
6161

@@ -66,11 +66,11 @@ alert(numbers); // 7,903,123,45,67
6666
```
6767

6868
`?`
69-
: Означает «ноль или один». То же самое, что и `{0,1}`. По сути, делает символ необязательным.
69+
: Означает "ноль или один". То же самое, что и `{0,1}`. По сути, делает символ необязательным.
7070

71-
Например, паттерн `pattern:ou?r` найдёт `match:o` после которого, возможно, следует `match:u`, а затем `match:r`.
71+
Например, шаблон `pattern:ou?r` найдёт `match:o` после которого, возможно, следует `match:u`, а затем `match:r`.
7272

73-
Поэтому паттерн `pattern:colou?r` найдёт оба: `match:color` и `match:colour`:
73+
Поэтому шаблон `pattern:colou?r` найдёт оба: `match:color` и `match:colour`:
7474

7575
```js run
7676
let str = "Следует писать color или colour?";
@@ -79,9 +79,9 @@ alert(numbers); // 7,903,123,45,67
7979
```
8080

8181
`*`
82-
: Означает «ноль или более». То же самое, что и `{0,}`. То есть символ может повторяться много раз или вообще отсутствовать.
82+
: Означает "ноль или более". То же самое, что и `{0,}`. То есть символ может повторяться много раз или вообще отсутствовать.
8383

84-
Например, паттерн `pattern:\d0*` находит цифру вместе со всеми нулями, которые идут за ней (но могут и не идти):
84+
Например, шаблон `pattern:\d0*` находит цифру вместе со всеми нулями, которые идут за ней (но могут и не идти):
8585

8686
```js run
8787
alert( "100 10 1".match(/\d0*/g) ); // 100, 10, 1
@@ -96,15 +96,15 @@ alert(numbers); // 7,903,123,45,67
9696

9797
## Ещё примеры
9898

99-
Эти квантификаторы принадлежат к числу самых важных «строительных блоков» для сложных регулярных выражений, поэтому мы рассмотрим ещё примеры.
99+
Квантификаторы используются очень часто. Они служат основными "строительными блоками" сложных регулярных выражений, поэтому давайте рассмотрим ещё примеры.
100100

101-
Регулярное выражение с «десятичной дробью» (число с плавающей точкой): `pattern:\d+\.\d+`
101+
Регулярное выражение для поиска десятичных дробей (чисел с плавающей точкой): `pattern:\d+\.\d+`
102102
: В действии:
103103
```js run
104104
alert( "0 1 12.345 7890".match(/\d+\.\d+/g) ); // 12.345
105105
```
106106

107-
Регулярное выражение для поиска «открывающего HTML-тега без атрибутов». Например, `<span>` или `<p>`: `pattern:/<[a-z]+>/i`
107+
Регулярное выражение для поиска "открывающего HTML-тега без атрибутов". Например, `<span>` или `<p>`: `pattern:/<[a-z]+>/i`
108108
: В действии:
109109

110110
```js run
@@ -113,15 +113,15 @@ alert(numbers); // 7,903,123,45,67
113113

114114
Это регулярное выражение ищет символ `pattern:'<'`, за которым идут одна или более букв английского алфавита, а затем `pattern:'>'`.
115115

116-
Регулярное выражение для поиска «открывающего HTML-тега без атрибутов» (улучшенный вариант): `pattern:/<[a-z][a-z0-9]*>/i`
117-
: Здесь регулярное выражение расширено: в соответствие со стандартом, HTML-тег может иметь символ цифры на любой позиции, кроме первой, например `<h1>`.
116+
Регулярное выражение для поиска "открывающего HTML-тега без атрибутов" (улучшенный вариант): `pattern:/<[a-z][a-z0-9]*>/i`
117+
: Здесь регулярное выражение расширено: в соответствие со стандартом, в названии HTML-тега цифра может быть на любой позиции, кроме первой, например `<h1>`.
118118

119119
```js run
120120
alert( "<h1>Привет!</h1>".match(/<[a-z][a-z0-9]*>/gi) ); // <h1>
121121
```
122122

123-
Регулярное выражение для поиска «открывающего или закрывающего HTML-тега без атрибутов»: `pattern:/<\/?[a-z][a-z0-9]*>/i`
124-
: В предыдущий паттерн мы добавили необязательный слеш `pattern:/?`. Этот символ понадобилось заэкранировать, чтобы JavaScript не принял его за конец шаблона.
123+
Регулярное выражение для поиска "открывающего или закрывающего HTML-тега без атрибутов": `pattern:/<\/?[a-z][a-z0-9]*>/i`
124+
: В предыдущий шаблон мы добавили необязательный слеш `pattern:/?`. Этот символ понадобилось заэкранировать, чтобы JavaScript не принял его за конец шаблона.
125125

126126
```js run
127127
alert( "<h1>Привет!</h1>".match(/<\/?[a-z][a-z0-9]*>/gi) ); // <h1>, </h1>
@@ -133,7 +133,7 @@ alert(numbers); // 7,903,123,45,67
133133
134134
Например, для HTML-тегов, скорее всего, подошло бы и более простое регулярное выражение: `pattern:<\w+>`.
135135
136-
...Но так как класс `pattern:\w` означает любую английскую букву или цифру, или `'_'`, то для такого регулярного выражения подойдут и нетеги, например `match:<_>`. То есть оно гораздо проще, чем паттерн `pattern:<[a-z][a-z0-9]*>`, но вместе с тем и менее точное.
136+
...Но так как класс `pattern:\w` означает любую английскую букву или цифру, или `'_'`, то для такого регулярного выражения подойдут и не теги, например `match:<_>`. То есть оно гораздо проще, чем шаблон `pattern:<[a-z][a-z0-9]*>`, но вместе с тем и менее точное.
137137
138138
Подойдёт ли нам `pattern:<\w+>` или нужно использовать `pattern:<[a-z][a-z0-9]*>`?
139139

0 commit comments

Comments
 (0)