From a837269889f3e6841ccb8b6cec9016dcfa6bfa77 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Tue, 25 Apr 2023 16:52:43 +0300
Subject: [PATCH 01/35] Update article.md
---
.../01-regexp-introduction/article.md | 194 +++++++++---------
1 file changed, 97 insertions(+), 97 deletions(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index ade62cdf2..28d14a01b 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -1,177 +1,177 @@
-# Patterns and flags
+# Вступ: шаблони та прапори
-Regular expressions are patterns that provide a powerful way to search and replace in text.
+Регулярні вирази – потужний засіб пошуку та заміни у рядку.
-In JavaScript, they are available via the [RegExp](mdn:js/RegExp) object, as well as being integrated in methods of strings.
+У JavaScript регулярні вирази реалізовані окремим об'єктом [RegExp](mdn:js/RegExp) та інтегровані у методи рядків.
-## Regular Expressions
+## Регулярні вирази
-A regular expression (also "regexp", or just "reg") consists of a *pattern* and optional *flags*.
+Регулярний вираз (воно ж "регексп", "регулярка" або просто "рег"), складається з *шаблону* (також кажуть "патерн") і необов'язкових *прапорів*.
-There are two syntaxes that can be used to create a regular expression object.
+Існує два синтаксиси для створення регулярного виразу.
-The "long" syntax:
+"Довгий" синтаксис:
```js
-regexp = new RegExp("pattern", "flags");
+regexp = new RegExp ("шаблон", "прапори");
```
-And the "short" one, using slashes `"/"`:
+...І короткий синтаксис, що використовує слеши `//``:
```js
-regexp = /pattern/; // no flags
-regexp = /pattern/gmi; // with flags g,m and i (to be covered soon)
+regexp = /шаблон/; // без прапорів
+regexp = /шаблон/gmi; // з прапорами gmi (будуть описані далі)
```
-Slashes `pattern:/.../` tell JavaScript that we are creating a regular expression. They play the same role as quotes for strings.
+Слеши `pattern:/.../` говорять JavaScript про те, що це регулярний вираз. Вони відіграють таку саму роль, як і лапки для позначення рядків.
-In both cases `regexp` becomes an instance of the built-in `RegExp` class.
+Регулярний вираз `regexp` в обох випадках є об'єктом вбудованого класу `RegExp`.
-The main difference between these two syntaxes is that pattern using slashes `/.../` does not allow for expressions to be inserted (like string template literals with `${...}`). They are fully static.
+Основна різниця між цими двома способами створення полягає в тому, що слеши `pattern:/.../` не допускають жодних вставок змінних (на зразок можливих у рядках через `${...}`). Вони цілком статичні.
-Slashes are used when we know the regular expression at the code writing time -- and that's the most common situation. While `new RegExp` is more often used when we need to create a regexp "on the fly" from a dynamically generated string. For instance:
+Слеши використовуються, коли ми на момент написання коду точно знаємо, яким буде регулярний вираз - і це більшість ситуацій. А `new RegExp` - коли ми хочемо створити регулярний вираз "на льоту" з динамічно згенерованого рядка, наприклад:
```js
-let tag = prompt("What tag do you want to find?", "h2");
+let tag = prompt("Який тег ви хочете знайти?", "h2");
-let regexp = new RegExp(`<${tag}>`); // same as /
/ if answered "h2" in the prompt above
+let regexp = new RegExp(`<${tag}>`); // те саме, що // при відповіді "h2" на prompt вище
```
-## Flags
+## Прапори
-Regular expressions may have flags that affect the search.
+Регулярні вирази можуть мати прапори, які впливають на пошук.
-There are only 6 of them in JavaScript:
+У JavaScript їх всього шість:
`pattern:i`
-: With this flag the search is case-insensitive: no difference between `A` and `a` (see the example below).
+: З цим прапором пошук не залежить від регістру: немає різниці між `A` та `a` (див. приклад нижче).
`pattern:g`
-: With this flag the search looks for all matches, without it -- only the first match is returned.
+: З цим прапором пошук шукає всі збіги, без нього - лише перше
`pattern:m`
-: Multiline mode (covered in the chapter ).
+: Багаторядковий режим (розглядається в розділі ).
`pattern:s`
-: Enables "dotall" mode, that allows a dot `pattern:.` to match newline character `\n` (covered in the chapter ).
+: Включає режим "dotall", при якому точка `pattern:.` може відповідати символу перекладу рядка `\n` (розглядається у розділі ).
`pattern:u`
-: Enables full Unicode support. The flag enables correct processing of surrogate pairs. More about that in the chapter .
+: Включає повну підтримку Юнікоду. Прапор дозволяє коректну обробку сурогатних пар (докладніше про це у розділі ).
`pattern:y`
-: "Sticky" mode: searching at the exact position in the text (covered in the chapter )
+: Режим пошуку на конкретній позиції в тексті (описаний у розділі )
-```smart header="Colors"
-From here on the color scheme is:
+```smart header="Кольорові позначення"
+Тут і далі в тексті використовується наступна колірна схема:
-- regexp -- `pattern:red`
-- string (where we search) -- `subject:blue`
-- result -- `match:green`
+- регулярний вираз - `pattern: червоний`
+- рядок (там, де відбувається пошук) - `subject:синій`
+- результат -- `match: зелений`
```
-## Searching: str.match
+## Пошук: str.match
-As mentioned previously, regular expressions are integrated with string methods.
+Як уже говорилося, використання регулярних виразів інтегровано у методи рядків.
-The method `str.match(regexp)` finds all matches of `regexp` in the string `str`.
+Метод `str.match(regexp)` для рядка `str` повертає збіги з регулярним виразом `regexp`.
-It has 3 working modes:
+У нього є три режими роботи:
-1. If the regular expression has flag `pattern:g`, it returns an array of all matches:
- ```js run
- let str = "We will, we will rock you";
+1. Якщо у регулярного виразу є прапор pattern: g, то він повертає масив всіх збігів:
+ ```js run
+ let str = "За Вас правда, за вас слава і воля святая!";
- alert( str.match(/we/gi) ); // We,we (an array of 2 substrings that match)
- ```
- Please note that both `match:We` and `match:we` are found, because flag `pattern:i` makes the regular expression case-insensitive.
+ alert(str.match(/вас/gi)); // Вас, вас (масив із 2х підрядків-збігів)
+ ```
+ Зверніть увагу: знайдені і `match:Вас` та `match:Вас`, завдяки прапору `pattern:i`, який робить регулярний вираз реєстронезалежним.
-2. If there's no such flag it returns only the first match in the form of an array, with the full match at index `0` and some additional details in properties:
- ```js run
- let str = "We will, we will rock you";
+2. Якщо такого прапора немає, то повертається лише перший збіг у вигляді масиву, в якому за індексом `0` знаходиться збіг, і є властивості з додатковою інформацією про нього:
+ ```js run
+ let str = "За Вас правда, за вас слава і воля святая!";
- let result = str.match(/we/i); // without flag g
+ let result = str.match(/вас/i); // без прапора g
- alert( result[0] ); // We (1st match)
- alert( result.length ); // 1
+ alert(result[0]); // Вас (перший збіг)
+ alert(result.length); // 1
- // Details:
- alert( result.index ); // 0 (position of the match)
- alert( result.input ); // We will, we will rock you (source string)
- ```
- The array may have other indexes, besides `0` if a part of the regular expression is enclosed in parentheses. We'll cover that in the chapter .
+ // Додаткова інформація:
+ alert(result.index); // 0 (позиція збігу)
+ alert(result.input); // За Вас правда, за вас слава і воля святая! (вихідний рядок)
+ ```
+ У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного вираження виділена в дужки. Ми розберемо це у розділі .
-3. And, finally, if there are no matches, `null` is returned (doesn't matter if there's flag `pattern:g` or not).
+3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern: g`, повертається `null`.
- This a very important nuance. If there are no matches, we don't receive an empty array, but instead receive `null`. Forgetting about that may lead to errors, e.g.:
+ Це дуже важливий аспект. За відсутності збігів повертається не порожній масив, а саме null. Якщо про це забути, можна легко припуститися помилки, наприклад:
- ```js run
- let matches = "JavaScript".match(/HTML/); // = null
+ ```js run
+ let matches = "JavaScript". match(/HTML/); // = null
- if (!matches.length) { // Error: Cannot read property 'length' of null
- alert("Error in the line above");
- }
- ```
+ if (!matches.length) { // Помилка: у null немає властивості length
+ alert("Помилка у рядку вище");
+ }
+ ```
- If we'd like the result to always be an array, we can write it this way:
+ Якщо хочеться, щоб результатом завжди був масив, можна написати так:
- ```js run
- let matches = "JavaScript".match(/HTML/)*!* || []*/!*;
+ ```js run
+ let matches = "JavaScript".match(/HTML/)*!* || []*/!*;
- if (!matches.length) {
- alert("No matches"); // now it works
- }
- ```
+ if (!matches.length) {
+ alert("Збігів немає"); // тепер працює
+ }
+ ```
-## Replacing: str.replace
+## Заміна: str.replace
-The method `str.replace(regexp, replacement)` replaces matches found using `regexp` in string `str` with `replacement` (all matches if there's flag `pattern:g`, otherwise, only the first one).
+Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` у рядку `str` на `replacement` (всі, якщо є прапор `pattern:g`, інакше тільки перше).
-For instance:
+Наприклад:
```js run
-// no flag g
-alert( "We will, we will".replace(/we/i, "I") ); // I will, we will
+// без прапора g
+alert("We will, we will".replace(/we/i, "I")); // I will, we will
-// with flag g
-alert( "We will, we will".replace(/we/ig, "I") ); // I will, I will
+// з прапором g
+alert("We will, we will".replace(/we/ig, "I")); // I will, I will
```
-The second argument is the `replacement` string. We can use special character combinations in it to insert fragments of the match:
+В рядке заміни `replacement` ми можемо використовувати спеціальні комбінації символів для вставки фрагментів збігу:
-| Symbols | Action in the replacement string |
+| Спецсимволи | Дія у рядку заміни |
|--------|--------|
-|`$&`|inserts the whole match|
-|$`
|inserts a part of the string before the match|
-|`$'`|inserts a part of the string after the match|
-|`$n`|if `n` is a 1-2 digit number, then it inserts the contents of n-th parentheses, more about it in the chapter |
-|`$`|inserts the contents of the parentheses with the given `name`, more about it in the chapter |
-|`$$`|inserts character `$` |
+|`$&`|вставляє всі знайдені збіги|
+|$`
|вставляє частину рядка до збігу|
+|`$'`|вставляє частину рядка після збігу|
+|`$n`|якщо `n` це 1-2 значне число, вставляє вміст n-ї скобочної групи регулярного виразу, більше у розділі |
+|`$`|вставляє вміст скобочної групи з ім'ям `name`, також вивчимо у розділі |
+|`$$`|вставляє символ `"$"` |
-An example with `pattern:$&`:
+Приклад з `pattern:$&`:
```js run
-alert( "I love HTML".replace(/HTML/, "$& and JavaScript") ); // I love HTML and JavaScript
+alert( "Люблю HTML".replace(/HTML/, "$& і JavaScript") ); // Люблю HTML та JavaScript
```
-## Testing: regexp.test
+## Перевірка: regexp.test
-The method `regexp.test(str)` looks for at least one match, if found, returns `true`, otherwise `false`.
+Метод `regexp.test(str)` перевіряє, чи є хоч один збіг, якщо так, то повертає `true`, інакше `false`.
```js run
-let str = "I love JavaScript";
-let regexp = /LOVE/i;
+let str = "Я люблю JavaScript";
+let regexp = /люблю/i;
-alert( regexp.test(str) ); // true
+alert(regexp.test(str)); // true
```
-Later in this chapter we'll study more regular expressions, walk through more examples, and also meet other methods.
+Далі в цьому розділі ми вивчатимемо регулярні вирази, побачимо ще багато прикладів їх використання, а також познайомимося з іншими методами.
-Full information about the methods is given in the article .
+Повна інформація про різні методи наведена в розділі .
-## Summary
+## Разом
-- A regular expression consists of a pattern and optional flags: `pattern:g`, `pattern:i`, `pattern:m`, `pattern:u`, `pattern:s`, `pattern:y`.
-- Without flags and special symbols (that we'll study later), the search by a regexp is the same as a substring search.
-- The method `str.match(regexp)` looks for matches: all of them if there's `pattern:g` flag, otherwise, only the first one.
-- The method `str.replace(regexp, replacement)` replaces matches found using `regexp` with `replacement`: all of them if there's `pattern:g` flag, otherwise only the first one.
-- The method `regexp.test(str)` returns `true` if there's at least one match, otherwise, it returns `false`.
+- Регулярний вираз складається з шаблону і необов'язкових прапорів: `pattern: g`, `pattern: i`, `pattern: m`, `pattern: u`, `pattern: s`, `pattern: y`.
+- Без прапорів та спеціальних символів, які ми вивчимо пізніше, пошук за регулярним виразом аналогічний пошуку підрядка.
+- Метод `str.match(regexp)` шукає збіги: всі, якщо є прапор `pattern: g`, інакше тільки перше.
+- Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` на `replacement`: всі, якщо у регулярного виразу є прапор `pattern: g`, інакше тільки перше.
+- Метод `regexp.test(str)` повертає `true`, якщо є хоч один збіг, інакше `false`.
From 1eeb730985c1a5fcc94c7edb02e76f2fc8fe8508 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Tue, 25 Apr 2023 16:55:26 +0300
Subject: [PATCH 02/35] Update article.md
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 28d14a01b..38afff429 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -98,7 +98,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
alert(result.index); // 0 (позиція збігу)
alert(result.input); // За Вас правда, за вас слава і воля святая! (вихідний рядок)
```
- У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного вираження виділена в дужки. Ми розберемо це у розділі .
+ У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного виразу виділена в дужки. Ми розберемо це у розділі .
3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern: g`, повертається `null`.
From dbce43ecd33505c77fb869af5435aad07eb13cf7 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Tue, 25 Apr 2023 17:29:13 +0300
Subject: [PATCH 03/35] Update article.md
---
9-regular-expressions/01-regexp-introduction/article.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 38afff429..538507921 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -6,7 +6,7 @@
## Регулярні вирази
-Регулярний вираз (воно ж "регексп", "регулярка" або просто "рег"), складається з *шаблону* (також кажуть "патерн") і необов'язкових *прапорів*.
+Регулярний вираз (він же "регексп", "регулярка" або просто "рег"), складається з *шаблону* (також кажуть "патерн") і необов'язкових *прапорів*.
Існує два синтаксиси для створення регулярного виразу.
@@ -47,7 +47,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
: З цим прапором пошук не залежить від регістру: немає різниці між `A` та `a` (див. приклад нижче).
`pattern:g`
-: З цим прапором пошук шукає всі збіги, без нього - лише перше
+: З цим прапором пошук шукає всі збіги, без нього - лише перше.
`pattern:m`
: Багаторядковий режим (розглядається в розділі ).
From b4d514900f760c6d8eb4c683b265e64e2f068396 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:32:53 +0300
Subject: [PATCH 04/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 538507921..f34e6123e 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -20,7 +20,7 @@ regexp = new RegExp ("шаблон", "прапори");
```js
regexp = /шаблон/; // без прапорів
-regexp = /шаблон/gmi; // з прапорами gmi (будуть описані далі)
+regexp = /шаблон/gmi; // з прапорами g,m та i (будуть описані далі)
```
Слеши `pattern:/.../` говорять JavaScript про те, що це регулярний вираз. Вони відіграють таку саму роль, як і лапки для позначення рядків.
From f089bf608f7525b379ce8d0dd2375a31cf1ca7a9 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:34:02 +0300
Subject: [PATCH 05/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index f34e6123e..529579b6b 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -34,7 +34,7 @@ regexp = /шаблон/gmi; // з прапорами g,m та i (будуть о
```js
let tag = prompt("Який тег ви хочете знайти?", "h2");
-let regexp = new RegExp(`<${tag}>`); // те саме, що // при відповіді "h2" на prompt вище
+let regexp = new RegExp(`<${tag}>`); // те саме, що // при відповіді "h2" на запит вище
```
## Прапори
From ad492401cdfb6dd00d76ab2d1771b2d49eff16aa Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:34:48 +0300
Subject: [PATCH 06/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 529579b6b..dd8c2d7c4 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -64,7 +64,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
```smart header="Кольорові позначення"
Тут і далі в тексті використовується наступна колірна схема:
-- регулярний вираз - `pattern: червоний`
+- регулярний вираз - `pattern:червоний`
- рядок (там, де відбувається пошук) - `subject:синій`
- результат -- `match: зелений`
```
From bec6c0a9203086e0e2f7c0df5a4f733314cbf6f2 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:34:56 +0300
Subject: [PATCH 07/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index dd8c2d7c4..97f01c56a 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -66,7 +66,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
- регулярний вираз - `pattern:червоний`
- рядок (там, де відбувається пошук) - `subject:синій`
-- результат -- `match: зелений`
+- результат -- `match:зелений`
```
## Пошук: str.match
From 3f3a2dfced6eebf271bd6958dee057f32bb320eb Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:35:12 +0300
Subject: [PATCH 08/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 97f01c56a..660a2bc8b 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -136,7 +136,7 @@ alert("We will, we will".replace(/we/i, "I")); // I will, we will
alert("We will, we will".replace(/we/ig, "I")); // I will, I will
```
-В рядке заміни `replacement` ми можемо використовувати спеціальні комбінації символів для вставки фрагментів збігу:
+У рядку заміни `replacement` ми можемо використовувати спеціальні комбінації символів для вставки фрагментів збігу:
| Спецсимволи | Дія у рядку заміни |
|--------|--------|
From 133d0089936faeaf6badc1c35c9a12512c8aa8e9 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:35:28 +0300
Subject: [PATCH 09/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 660a2bc8b..c1fa7a604 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -150,7 +150,7 @@ alert("We will, we will".replace(/we/ig, "I")); // I will, I will
Приклад з `pattern:$&`:
```js run
-alert( "Люблю HTML".replace(/HTML/, "$& і JavaScript") ); // Люблю HTML та JavaScript
+alert( "Люблю HTML".replace(/HTML/, "$& і JavaScript") ); // Люблю HTML і JavaScript
```
## Перевірка: regexp.test
From 0024aa24a9d1847273f0e5296c97d0ba36195c73 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:35:37 +0300
Subject: [PATCH 10/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index c1fa7a604..c3487d4a6 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -161,7 +161,7 @@ alert( "Люблю HTML".replace(/HTML/, "$& і JavaScript") ); // Люблю HT
let str = "Я люблю JavaScript";
let regexp = /люблю/i;
-alert(regexp.test(str)); // true
+alert( regexp.test(str) ); // true
```
Далі в цьому розділі ми вивчатимемо регулярні вирази, побачимо ще багато прикладів їх використання, а також познайомимося з іншими методами.
From dd264ab9aeb63a2d288dbe692eba68b358f41caf Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:36:12 +0300
Subject: [PATCH 11/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index c3487d4a6..10287ac03 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -168,7 +168,7 @@ alert( regexp.test(str) ); // true
Повна інформація про різні методи наведена в розділі .
-## Разом
+## Підсумки
- Регулярний вираз складається з шаблону і необов'язкових прапорів: `pattern: g`, `pattern: i`, `pattern: m`, `pattern: u`, `pattern: s`, `pattern: y`.
- Без прапорів та спеціальних символів, які ми вивчимо пізніше, пошук за регулярним виразом аналогічний пошуку підрядка.
From e5ebe2b1a11e1721a6fa890c5679e970cbfaf9ee Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:36:29 +0300
Subject: [PATCH 12/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 10287ac03..b86c95136 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -172,6 +172,6 @@ alert( regexp.test(str) ); // true
- Регулярний вираз складається з шаблону і необов'язкових прапорів: `pattern: g`, `pattern: i`, `pattern: m`, `pattern: u`, `pattern: s`, `pattern: y`.
- Без прапорів та спеціальних символів, які ми вивчимо пізніше, пошук за регулярним виразом аналогічний пошуку підрядка.
-- Метод `str.match(regexp)` шукає збіги: всі, якщо є прапор `pattern: g`, інакше тільки перше.
+- Метод `str.match(regexp)` шукає збіги: всі, якщо є прапор `pattern:g`, інакше тільки перший.
- Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` на `replacement`: всі, якщо у регулярного виразу є прапор `pattern: g`, інакше тільки перше.
- Метод `regexp.test(str)` повертає `true`, якщо є хоч один збіг, інакше `false`.
From 27dcf8ee251fd623d9973a13bbdfd802c22d6c5c Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Thu, 27 Apr 2023 01:38:47 +0300
Subject: [PATCH 13/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Alex Halkin
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index b86c95136..d780b3392 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -173,5 +173,5 @@ alert( regexp.test(str) ); // true
- Регулярний вираз складається з шаблону і необов'язкових прапорів: `pattern: g`, `pattern: i`, `pattern: m`, `pattern: u`, `pattern: s`, `pattern: y`.
- Без прапорів та спеціальних символів, які ми вивчимо пізніше, пошук за регулярним виразом аналогічний пошуку підрядка.
- Метод `str.match(regexp)` шукає збіги: всі, якщо є прапор `pattern:g`, інакше тільки перший.
-- Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` на `replacement`: всі, якщо у регулярного виразу є прапор `pattern: g`, інакше тільки перше.
+- Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` на `replacement`: всі, якщо у регулярного виразу є прапор `pattern:g`, інакше тільки перший.
- Метод `regexp.test(str)` повертає `true`, якщо є хоч один збіг, інакше `false`.
From 824b4ac9d684c88e334f0cb51f1f92ad72dde344 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:23:04 +0300
Subject: [PATCH 14/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index d780b3392..a2a3772b2 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -1,6 +1,6 @@
# Вступ: шаблони та прапори
-Регулярні вирази – потужний засіб пошуку та заміни у рядку.
+Регулярні вирази – потужний засіб пошуку та заміни тексту в рядках.
У JavaScript регулярні вирази реалізовані окремим об'єктом [RegExp](mdn:js/RegExp) та інтегровані у методи рядків.
From cf77918e3c070ae087dc10b17a09aa51b5fcce7a Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:23:15 +0300
Subject: [PATCH 15/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index a2a3772b2..afe7d3d88 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -2,7 +2,7 @@
Регулярні вирази – потужний засіб пошуку та заміни тексту в рядках.
-У JavaScript регулярні вирази реалізовані окремим об'єктом [RegExp](mdn:js/RegExp) та інтегровані у методи рядків.
+В JavaScript регулярні вирази реалізовані окремим об’єктом [RegExp](mdn:js/RegExp) та інтегровані у методи рядків.
## Регулярні вирази
From 917d3deeb2cb190db9940d9f09b73d0d37b0d769 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:23:27 +0300
Subject: [PATCH 16/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index afe7d3d88..81ec7e2a4 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -6,7 +6,7 @@
## Регулярні вирази
-Регулярний вираз (він же "регексп", "регулярка" або просто "рег"), складається з *шаблону* (також кажуть "патерн") і необов'язкових *прапорів*.
+Регулярний вираз (він же "регексп", "регулярка" або просто "рег"), складається з *шаблону* (також кажуть "патерн") і необов’язкових *прапорів*.
Існує два синтаксиси для створення регулярного виразу.
From 4f8dff7ac009b1b965f2c9eaedb47deb0302b9a8 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:23:34 +0300
Subject: [PATCH 17/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 81ec7e2a4..a17a59e39 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -25,7 +25,7 @@ regexp = /шаблон/gmi; // з прапорами g,m та i (будуть о
Слеши `pattern:/.../` говорять JavaScript про те, що це регулярний вираз. Вони відіграють таку саму роль, як і лапки для позначення рядків.
-Регулярний вираз `regexp` в обох випадках є об'єктом вбудованого класу `RegExp`.
+Регулярний вираз `regexp` в обох випадках є об’єктом вбудованого класу `RegExp`.
Основна різниця між цими двома способами створення полягає в тому, що слеши `pattern:/.../` не допускають жодних вставок змінних (на зразок можливих у рядках через `${...}`). Вони цілком статичні.
From 7d235ca763b5a7986d62eb78f80de7ba5e62e134 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:23:56 +0300
Subject: [PATCH 18/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index a17a59e39..1d6dfe5c6 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -16,7 +16,7 @@
regexp = new RegExp ("шаблон", "прапори");
```
-...І короткий синтаксис, що використовує слеши `//``:
+Та "короткий" синтаксис, в якому використовуються слеши `"/"`:
```js
regexp = /шаблон/; // без прапорів
From 0905fdbcbad246e95253ec0d2a8ac0e56ba6395a Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:24:10 +0300
Subject: [PATCH 19/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 1d6dfe5c6..65c4a6565 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -170,7 +170,7 @@ alert( regexp.test(str) ); // true
## Підсумки
-- Регулярний вираз складається з шаблону і необов'язкових прапорів: `pattern: g`, `pattern: i`, `pattern: m`, `pattern: u`, `pattern: s`, `pattern: y`.
+- Регулярний вираз складається з шаблону і необов’язкових прапорів: `pattern:g`, `pattern:i`, `pattern:m`, `pattern:u`, `pattern:s`, `pattern:y`.
- Без прапорів та спеціальних символів, які ми вивчимо пізніше, пошук за регулярним виразом аналогічний пошуку підрядка.
- Метод `str.match(regexp)` шукає збіги: всі, якщо є прапор `pattern:g`, інакше тільки перший.
- Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` на `replacement`: всі, якщо у регулярного виразу є прапор `pattern:g`, інакше тільки перший.
From 411fbbd0c33da0b2504ecfba46ed22204002990b Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:24:24 +0300
Subject: [PATCH 20/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 65c4a6565..d71100a60 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -133,7 +133,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
alert("We will, we will".replace(/we/i, "I")); // I will, we will
// з прапором g
-alert("We will, we will".replace(/we/ig, "I")); // I will, I will
+alert( "Ми будемо, ми будемо".replace(/ми/ig, "Я") ); // Я будемо, Я будемо
```
У рядку заміни `replacement` ми можемо використовувати спеціальні комбінації символів для вставки фрагментів збігу:
From f65dcd381da79f02a254072815c86d8cfe106161 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:24:49 +0300
Subject: [PATCH 21/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index d71100a60..13b72aa64 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -130,7 +130,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
```js run
// без прапора g
-alert("We will, we will".replace(/we/i, "I")); // I will, we will
+alert( "Ми будемо, ми будемо".replace(/ми/i, "Я") ); // Я будемо, я будемо
// з прапором g
alert( "Ми будемо, ми будемо".replace(/ми/ig, "Я") ); // Я будемо, Я будемо
From dea5c6a5cc08a8a209ffd73cd6f82905f0d7f4da Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:25:07 +0300
Subject: [PATCH 22/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 13b72aa64..caeb447d0 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -124,7 +124,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
## Заміна: str.replace
-Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` у рядку `str` на `replacement` (всі, якщо є прапор `pattern:g`, інакше тільки перше).
+Метод `str.replace(regexp, replacement)` замінює збіги з `regexp` у рядку `str` на `replacement` (всі збіги, якщо є прапор `pattern:g`, інакше тільки перше).
Наприклад:
From f45e004c96692a43fdfa2ee1129586dfba7d5012 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:26:05 +0300
Subject: [PATCH 23/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index caeb447d0..737beb38e 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -27,7 +27,7 @@ regexp = /шаблон/gmi; // з прапорами g,m та i (будуть о
Регулярний вираз `regexp` в обох випадках є об’єктом вбудованого класу `RegExp`.
-Основна різниця між цими двома способами створення полягає в тому, що слеши `pattern:/.../` не допускають жодних вставок змінних (на зразок можливих у рядках через `${...}`). Вони цілком статичні.
+Основна різниця між цими двома синтаксами полягає в тому, що слеши `/.../` не допускають жодних вставок змінних (на зразок тих, що прописуються через `${...}`). Вони повністю статичні.
Слеши використовуються, коли ми на момент написання коду точно знаємо, яким буде регулярний вираз - і це більшість ситуацій. А `new RegExp` - коли ми хочемо створити регулярний вираз "на льоту" з динамічно згенерованого рядка, наприклад:
From a5c1aae238ee8f83062dc6db6bb035cf9f615059 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:26:27 +0300
Subject: [PATCH 24/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 737beb38e..8374db6e3 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -53,7 +53,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
: Багаторядковий режим (розглядається в розділі ).
`pattern:s`
-: Включає режим "dotall", при якому точка `pattern:.` може відповідати символу перекладу рядка `\n` (розглядається у розділі ).
+: Вмикає режим "dotall", при якому крапка `pattern:.` може відповідати символу нового рядка `\n` (розглядається у розділі ).
`pattern:u`
: Включає повну підтримку Юнікоду. Прапор дозволяє коректну обробку сурогатних пар (докладніше про це у розділі ).
From debecfc9728d478bf84e2ad1d7fd0b2e5cbb3bfc Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:26:47 +0300
Subject: [PATCH 25/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 8374db6e3..cca57b80f 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -56,7 +56,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
: Вмикає режим "dotall", при якому крапка `pattern:.` може відповідати символу нового рядка `\n` (розглядається у розділі ).
`pattern:u`
-: Включає повну підтримку Юнікоду. Прапор дозволяє коректну обробку сурогатних пар (докладніше про це у розділі ).
+: Вмикає повну підтримку Юнікоду. Прапор дозволяє коректну обробку сурогатних пар (докладніше про це у розділі ).
`pattern:y`
: Режим пошуку на конкретній позиції в тексті (описаний у розділі )
From 0628712905a7af67b221348297d954354451c161 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:26:59 +0300
Subject: [PATCH 26/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index cca57b80f..bfc95209b 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -65,7 +65,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
Тут і далі в тексті використовується наступна колірна схема:
- регулярний вираз - `pattern:червоний`
-- рядок (там, де відбувається пошук) - `subject:синій`
+- рядок (там, де відбувається пошук) -- `subject:синій`
- результат -- `match:зелений`
```
From 4740e3dfd1abddf0e186369d6cd4ad7c44f020f1 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:27:22 +0300
Subject: [PATCH 27/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index bfc95209b..64692d15f 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -71,7 +71,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
## Пошук: str.match
-Як уже говорилося, використання регулярних виразів інтегровано у методи рядків.
+Як вже згадувалося, використання регулярних виразів інтегровано у методи рядків.
Метод `str.match(regexp)` для рядка `str` повертає збіги з регулярним виразом `regexp`.
From 07b87262da03b0c4fff6209c2c18cc5ece5b8603 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:27:36 +0300
Subject: [PATCH 28/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 64692d15f..a8c5cd8d6 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -77,7 +77,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
У нього є три режими роботи:
-1. Якщо у регулярного виразу є прапор pattern: g, то він повертає масив всіх збігів:
+1. Якщо в регулярного виразу є прапор `pattern:g`, то він повертає масив всіх збігів:
```js run
let str = "За Вас правда, за вас слава і воля святая!";
From ce1bec8c5eaf961d512f5adf622980e0ab307ff9 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:28:26 +0300
Subject: [PATCH 29/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index a8c5cd8d6..8a1a8089f 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -83,7 +83,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
alert(str.match(/вас/gi)); // Вас, вас (масив із 2х підрядків-збігів)
```
- Зверніть увагу: знайдені і `match:Вас` та `match:Вас`, завдяки прапору `pattern:i`, який робить регулярний вираз реєстронезалежним.
+ Зверніть увагу: знайдено як `match:Вас` так і `match:вас`, завдяки прапору `pattern:i`, який робить регулярний вираз реєстронезалежним.
2. Якщо такого прапора немає, то повертається лише перший збіг у вигляді масиву, в якому за індексом `0` знаходиться збіг, і є властивості з додатковою інформацією про нього:
```js run
From b1152dc6309456d6896a1528b95dca378a37e497 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:32:01 +0300
Subject: [PATCH 30/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 8a1a8089f..1b1399b24 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -98,7 +98,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
alert(result.index); // 0 (позиція збігу)
alert(result.input); // За Вас правда, за вас слава і воля святая! (вихідний рядок)
```
- У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного виразу виділена в дужки. Ми розберемо це у розділі .
+ У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного виразу виділена в дужки. Ми розберемо це у розділі .
3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern: g`, повертається `null`.
From b005897dcecb4a9321fda71a4d9241c197f79a90 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:32:11 +0300
Subject: [PATCH 31/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 1b1399b24..a68e6a665 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -100,7 +100,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
```
У цьому масиві можуть бути інші індекси, крім `0`, якщо частина регулярного виразу виділена в дужки. Ми розберемо це у розділі .
-3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern: g`, повертається `null`.
+3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern:g`, повертається `null`.
Це дуже важливий аспект. За відсутності збігів повертається не порожній масив, а саме null. Якщо про це забути, можна легко припуститися помилки, наприклад:
From 6d196a44fbc07bea08cdef9df3c86dcd90e3e5a7 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:32:29 +0300
Subject: [PATCH 32/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index a68e6a665..8c201cd56 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -112,7 +112,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
}
```
- Якщо хочеться, щоб результатом завжди був масив, можна написати так:
+ Якщо хочеться, щоб результатом завжди був масив, можна написати так:
```js run
let matches = "JavaScript".match(/HTML/)*!* || []*/!*;
From edb1fad63efa74e1be2a6a3a7aec7741947c437a Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:34:34 +0300
Subject: [PATCH 33/35] Update article.md
---
9-regular-expressions/01-regexp-introduction/article.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 8c201cd56..32441e81c 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -80,7 +80,6 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
1. Якщо в регулярного виразу є прапор `pattern:g`, то він повертає масив всіх збігів:
```js run
let str = "За Вас правда, за вас слава і воля святая!";
-
alert(str.match(/вас/gi)); // Вас, вас (масив із 2х підрядків-збігів)
```
Зверніть увагу: знайдено як `match:Вас` так і `match:вас`, завдяки прапору `pattern:i`, який робить регулярний вираз реєстронезалежним.
@@ -116,7 +115,6 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
```js run
let matches = "JavaScript".match(/HTML/)*!* || []*/!*;
-
if (!matches.length) {
alert("Збігів немає"); // тепер працює
}
From 86d3511a28f9c085d57930320959bdfc82e227b7 Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:34:59 +0300
Subject: [PATCH 34/35] Update
9-regular-expressions/01-regexp-introduction/article.md
Co-authored-by: Taras
---
9-regular-expressions/01-regexp-introduction/article.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index 32441e81c..b66785669 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -101,7 +101,7 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
3. І, нарешті, якщо збігів немає, то, незалежно від наявності прапора `pattern:g`, повертається `null`.
- Це дуже важливий аспект. За відсутності збігів повертається не порожній масив, а саме null. Якщо про це забути, можна легко припуститися помилки, наприклад:
+ Це дуже важливий аспект. За відсутності збігів повертається не порожній масив, а саме `null`. Якщо про це забути, можна легко припуститися помилки, наприклад:
```js run
let matches = "JavaScript". match(/HTML/); // = null
From 1742edcca23a58802d4d6471174cdd9acd6212ef Mon Sep 17 00:00:00 2001
From: Daria Bromot <80320446+bromotdi@users.noreply.github.com>
Date: Sat, 29 Apr 2023 21:37:51 +0300
Subject: [PATCH 35/35] Update article.md
---
9-regular-expressions/01-regexp-introduction/article.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md
index b66785669..79a1317a5 100644
--- a/9-regular-expressions/01-regexp-introduction/article.md
+++ b/9-regular-expressions/01-regexp-introduction/article.md
@@ -105,7 +105,6 @@ let regexp = new RegExp(`<${tag}>`); // те саме, що // при від
```js run
let matches = "JavaScript". match(/HTML/); // = null
-
if (!matches.length) { // Помилка: у null немає властивості length
alert("Помилка у рядку вище");
}