Skip to content

Commit 42839bf

Browse files
committed
Merge branch '9-regular-expressions_05-regexp-character-sets-and-ranges-article_md_ru' of github.com:oshliaer/ru.javascript.info into 9-regular-expressions_05-regexp-character-sets-and-ranges-article_md_ru
2 parents 073988f + eb54986 commit 42839bf

File tree

1 file changed

+11
-11
lines changed
  • 9-regular-expressions/05-regexp-character-sets-and-ranges

1 file changed

+11
-11
lines changed

9-regular-expressions/05-regexp-character-sets-and-ranges/article.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## Наборы
66

7-
Для примера, `pattern:[eao]` означает любой из символов: `'a'`, `'e'`, or `'o'`.
7+
Для примера, `pattern:[eao]` означает любой из 3-х символов: `'a'`, `'e'` или `'o'`.
88

99
Это называется *набором*. Наборы могут использоваться в регулярных выражениях вместе с обычными символами:
1010

@@ -50,27 +50,27 @@ alert( "Exception 0xAF".match(/x[0-9A-F][0-9A-F]/g) ); // xAF
5050

5151
Например:
5252

53-
- **\d** -- то же самое что и `pattern:[0-9]`,
54-
- **\w** -- то же самое что и `pattern:[a-zA-Z0-9_]`,
55-
- **\s** -- то же самое что и `pattern:[\t\n\v\f\r ]` плюс несколько других символов Юникода.
53+
- **\d** -- то же самое, что и `pattern:[0-9]`,
54+
- **\w** -- то же самое, что и `pattern:[a-zA-Z0-9_]`,
55+
- **\s** -- то же самое, что и `pattern:[\t\n\v\f\r ]` плюс несколько других символов Юникода.
5656

5757
Еще мы можем использовать символьные классы внутри `[…]`.
5858

5959
Например, мы хотим сопоставить все символы используемые в словах или тире для слов типа "twenty-third". Мы не можем сделать это с помощью `pattern:\w+`, потому что класс `pattern:\w` не содержит тире. Но можно использовать `pattern:[\w-]`.
6060

61-
Мы так же можем использовать комбинацию классов для учета любого возможного символа, например `pattern:[\s\S]`. Это соответствует пробелам или не пробелам - любой символ. Это шире, чем точка `"."`, потому что точка соответствует любому символу, кроме новой строки.
61+
Мы также можем использовать комбинацию классов для учета любого возможного символа, например `pattern:[\s\S]`. Это соответствует пробелам или не пробелам - любой символ. Это более универсальнее, чем точка `"."`, потому что точка соответствует любому символу, кроме новой строки.
6262

6363
## Исключающие диапазоны
6464

65-
Помимо нормальных диапазонов, есть "исключающие" диапазоны, которые выглядят как `pattern:[^…]`.
65+
Помимо обычных диапазонов, есть "исключающие" диапазоны, которые выглядят как `pattern:[^…]`.
6666

6767
Они обозначаются символом каретки `^` в начале диапазона и соответствуют любому символу *за исключением заданных*.
6868

6969
Например:
7070

71-
- `pattern:[^aeyo]` -- любой символ за исключением `'a'`, `'e'`, `'y'` или `'o'`.
72-
- `pattern:[^0-9]` -- любой символ за исключением цифы, соответствует `\D`.
73-
- `pattern:[^\s]` -- любой не-пробельный символ, соответствует `\S`.
71+
- `pattern:[^aeyo]` -- любой символ, за исключением `'a'`, `'e'`, `'y'` или `'o'`.
72+
- `pattern:[^0-9]` -- любой символ, за исключением цифры, соответствует `\D`.
73+
- `pattern:[^\s]` -- любой непробельный символ, соответствует `\S`.
7474

7575
Пример ниже ищет любые символы, кроме букв, цифр и пробелов:
7676

@@ -80,15 +80,15 @@ alert( "alice15@gmail.com".match(/[^\d\sA-Z]/gi) ); // @ и .
8080

8181
## В экранировании нет необходимости
8282

83-
Обычно, когда мы хотим найти именно точку, нам нужно экранировать его как `pattern:\.`. А если нам нужна обратная косая, тогда мы используем `pattern:\\`.
83+
Обычно, когда мы хотим найти именно точку, нам нужно экранировать его как `pattern:\.`. А если нам нужна обратная косая черта, тогда используем `pattern:\\`.
8484

8585
В квадратных скобках большинство специальных символов возможно использовать без экранирования:
8686

8787
- Точка `pattern:'.'`.
8888
- Плюс `pattern:'+'`.
8989
- Круглые скобки `pattern:'( )'`.
9090
- Тире `pattern:'-'` в начале или в конце (где этот символ не определяет диапазон).
91-
- Символ каретки `pattern:'^'` если не в начале (где это означает исключение).
91+
- Символ каретки `pattern:'^'`, если не в начале (где это означает исключение).
9292
- И открывающая квадратная скобка `pattern:'['`.
9393

9494
Другими словами, разрешены все специальные символы, кроме случаев, когда они означают что-то для квадратных скобок диапазонов.

0 commit comments

Comments
 (0)