Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Sets and ranges [...]#421

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
Show all changes
25 commits
Select commitHold shift + click to select a range
05bb895
Sets and ranges [...]
MrsMelnychenkoNov 24, 2022
4d34435
Merge branch 'javascript-tutorial:master' into regex-sets
MrsMelnychenkoDec 19, 2022
a38fb86
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
a298167
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
be0ffd7
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
e0510a8
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
e871532
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
1206829
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
579dc3b
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
8f67d1d
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
aeeda3a
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
600e01f
Update 9-regular-expressions/08-regexp-character-sets-and-ranges/arti…
MrsMelnychenkoDec 19, 2022
c02a730
Update solution.md
MrsMelnychenkoDec 19, 2022
d518988
Update solution.md
MrsMelnychenkoDec 19, 2022
b5ee3bd
Update solution.md
MrsMelnychenkoDec 19, 2022
a519a46
Update task.md
MrsMelnychenkoDec 19, 2022
fb140a8
Update solution.md
MrsMelnychenkoDec 19, 2022
aded3d3
Update task.md
MrsMelnychenkoDec 19, 2022
fb5e78b
Update task.md
MrsMelnychenkoDec 19, 2022
cf8bba9
Update solution.md
MrsMelnychenkoDec 19, 2022
a44dbbf
Update task.md
MrsMelnychenkoDec 19, 2022
67f9e71
Update task.md
MrsMelnychenkoDec 19, 2022
7f5a6e0
Update solution.md
MrsMelnychenkoDec 19, 2022
f7c1581
Apply suggestions from code review
dolgachioJan 4, 2023
4643079
Apply suggestions from code review
dolgachioJan 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
Answers: **no, yes**.
Відповідь: **ні, так**.

-In the script`subject:Java`it doesn't match anything, because `pattern:[^script]`means "any character except given ones".So the regexp looks for`"Java"`followed by one such symbol, but there's a string end, no symbols after it.
-В скрипті`subject:Java`немає співпадінь, оскільки `pattern:[^script]`означає "пошук будь-яких символів окрім заданих".Тож регулярний вираз шукає`"Java"`за яким слідує один такий символ, але це кінець рядку і далі немає символів.

```js run
alert( "Java".match(/Java[^script]/) ); // null
```
-Yes, because the`pattern:[^script]`part matches the character`"S"`.It's not one of `pattern:script`.As the regexp is case-sensitive (no`pattern:i` flag),it treats`"S"` as a different character from`"s"`.
-Так, оскільки частина патерну`pattern:[^script]`співпадає з символом`"S"`.Його немає в переліку `pattern:script`.Бо регулярний вираз розрізняє регістри букв (не вказаний прапорець`pattern:i`),то для нього`"S"`та`"s"` це різні символи.

```js run
alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
# Java[^script]

We have a regexp `pattern:/Java[^script]/`.
У нас є регулярний вираз `pattern:/Java[^script]/`.

Does it match anything in the string`subject:Java`?In the string `subject:JavaScript`?
Чи знайде він співпадіння у рядку`subject:Java`?А у рядку `subject:JavaScript`?
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
Answer: `pattern:\d\d[-:]\d\d`.
Відповідь: `pattern:\d\d[-:]\d\d`.

```js run
let regexp = /\d\d[-:]\d\d/g;
alert( "Breakfast at 09:00.Dinner at 21-30".match(regexp) ); // 09:00, 21-30
alert( "Сніданок о 09:00.Вечеря о 21-30".match(regexp) ); // 09:00, 21-30
```

Please note that the dash`pattern:'-'`has a special meaning in square brackets, but only between other characters, not when it's in the beginning or at the end, so we don't need to escape it.
Зверніть увагу, що риска`pattern:'-'`має спеціальне значення у квадратних дужках але тільки між іншими символами, не на початку чи в кінці виразу, тож немає необхідності її екранувати.
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
#Find the time ashh:mmor hh-mm
#Знайдіть часовий форматhh:mmабо hh-mm

The time can be in the format `hours:minutes` or `hours-minutes`.Both hours and minutes have 2 digits: `09:00`or `21-30`.
Час можна записати у форматі `години:хвилини` або `години-хвилини`.У будь-якому разі потрібні дві цифри для позначення годин і хвилин: `09:00`або `21-30`.

Write a regexp to find time:
Напишіть регулярний вираз для пошуку часового формату:

```js
let regexp = /your regexp/g;
alert( "Breakfast at 09:00.Dinner at 21-30".match(regexp) ); // 09:00, 21-30
alert( "Сніданок о 09:00.Вечеря о 21-30".match(regexp) ); // 09:00, 21-30
```

P.S.In this task we assume that the time is always correct, there's no need to filter out bad strings like"45:67".Later we'll deal with that too.
P.S.В цій задачі ми завжди маємо коректний час, не потрібно перевіряти неіснуючі комбінації цифр, як-то"45:67".Пізніше ми роглянемо і такі випадки.
View file
Open in desktop

Large diffs are not rendered by default.

View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@

Solution:
Відповідь:

```js run
let regexp = /\.{3,}/g;
alert( "Hello!...How goes?.....".match(regexp) ); // ..., .....
alert( "Привіт!...Як справи?.....".match(regexp) ); // ..., .....
```

Please note that the dot is a special character, so we have to escape it and insert as `\.`.
Зауважте, що крапка це спецсимвол, тож потребує екранування за допомогою `\.`.
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,13 +2,13 @@ importance: 5

---

#How to find an ellipsis "..." ?
#Як знайти розділовий знак три крапки "..." ?

Create a regexp to find ellipsis: 3 (or more?)dots in a row.
Створіть регулярний вираз, який знайде розділовий знак три крапки: 3 (чи навіть більше?)крапок поспіль.

Check it:
Перевірте:

```js
let regexp = /your regexp/g;
alert( "Hello!...How goes?.....".match(regexp) ); // ..., .....
alert( "Привіт!...Як справи?.....".match(regexp) ); // ..., .....
```
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
We need to look for`#`followed by 6 hexadecimal characters.
Нам потрбіно знайти символ`#`за яким слідують 6 шістнадцяткових символів.

A hexadecimal character can be described as`pattern:[0-9a-fA-F]`.Or if we use the`pattern:i`flag, then just `pattern:[0-9a-f]`.
Шістнадцятковий символ можна описати як`pattern:[0-9a-fA-F]`.Або, якщо застосувати прапорець`pattern:i`, то запис скоротиться до `pattern:[0-9a-f]`.

Then we can look for 6 of them using the quantifier `pattern:{6}`.
Далі ми позначимо за допомогою квантифікатора, що нам потрібно саме 6 таких шістнадцяткових символів `pattern:{6}`.

As a result, we have the regexp: `pattern:/#[a-f0-9]{6}/gi`.
І у результаті, отримаємо такий регулярний вираз: `pattern:/#[a-f0-9]{6}/gi`.

```js run
let regexp = /#[a-f0-9]{6}/gi;
Expand All@@ -14,18 +14,18 @@ let str = "color:#121212; background-color:#AA00ef bad-colors:f#fddee #fd2"
alert( str.match(regexp) ); // #121212,#AA00ef
```

The problem is that it finds the color in longer sequences:
Проблема в тому, що вищевказаний регулярний вираз знаходитиме код кольору навіть у довших послідовностях.

```js run
alert( "#12345678".match( /#[a-f0-9]{6}/gi ) ) // #123456
```

To fix that, we can add`pattern:\b`to the end:
Щоб виправити це, ми додамо`pattern:\b`у кінці виразу:

```js run
//color
//колір
alert( "#123456".match( /#[a-f0-9]{6}\b/gi ) ); // #123456

//not a color
//не колір
alert( "#12345678".match( /#[a-f0-9]{6}\b/gi ) ); // null
```
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
#Regexp for HTML colors
#Регулярний вираз для кольорів в HTML

Create a regexp to search HTML-colors written as`#ABCDEF`:first`#`and then 6 hexadecimal characters.
Створіть регулярний вираз, який шукає HTML-кольори записані у форматі`#ABCDEF`:спершу символ`#`за яким слідують 6 шістнадцяткових символів.

An example of use:
Приклад використання:

```js
let regexp = /...your regexp.../
let regexp = /...ваш регулярний вираз.../

let str = "color:#121212; background-color:#AA00ef bad-colors:f#fddee #fd2 #12345678";

alert( str.match(regexp) ) // #121212,#AA00ef
```

P.S.In this task we do not need other color formats like`#123`or `rgb(1,2,3)`etc.
P.S.В цій задачі нам не потрібно враховувати інші формати запису кольорів, як наприклад`#123`або `rgb(1,2,3)`тощо.

[8]ページ先頭

©2009-2025 Movatter.jp