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
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
-**\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 ]` плюс несколько других символов Юникода.
56
56
57
57
Еще мы можем использовать символьные классы внутри `[…]`.
58
58
59
59
Например, мы хотим сопоставить все символы используемые в словах или тире для слов типа "twenty-third". Мы не можем сделать это с помощью `pattern:\w+`, потому что класс `pattern:\w` не содержит тире. Но можно использовать `pattern:[\w-]`.
60
60
61
-
Мы так же можем использовать комбинацию классов для учета любого возможного символа, например `pattern:[\s\S]`. Это соответствует пробелам или не пробелам - любой символ. Это шире, чем точка `"."`, потому что точка соответствует любому символу, кроме новой строки.
61
+
Мы также можем использовать комбинацию классов для учета любого возможного символа, например `pattern:[\s\S]`. Это соответствует пробелам или не пробелам - любой символ. Это более универсальнее, чем точка `"."`, потому что точка соответствует любому символу, кроме новой строки.
62
62
63
63
## Исключающие диапазоны
64
64
65
-
Помимо нормальных диапазонов, есть "исключающие" диапазоны, которые выглядят как `pattern:[^…]`.
65
+
Помимо обычных диапазонов, есть "исключающие" диапазоны, которые выглядят как `pattern:[^…]`.
66
66
67
67
Они обозначаются символом каретки `^` в начале диапазона и соответствуют любому символу *за исключением заданных*.
68
68
69
69
Например:
70
70
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`.
74
74
75
75
Пример ниже ищет любые символы, кроме букв, цифр и пробелов:
Обычно, когда мы хотим найти именно точку, нам нужно экранировать его как `pattern:\.`. А если нам нужна обратная косая, тогда мы используем `pattern:\\`.
83
+
Обычно, когда мы хотим найти именно точку, нам нужно экранировать его как `pattern:\.`. А если нам нужна обратная косая черта, тогда используем `pattern:\\`.
84
84
85
85
В квадратных скобках большинство специальных символов возможно использовать без экранирования:
86
86
87
87
- Точка `pattern:'.'`.
88
88
- Плюс `pattern:'+'`.
89
89
- Круглые скобки `pattern:'( )'`.
90
90
- Тире `pattern:'-'` в начале или в конце (где этот символ не определяет диапазон).
91
-
- Символ каретки `pattern:'^'` если не в начале (где это означает исключение).
91
+
- Символ каретки `pattern:'^'`, если не в начале (где это означает исключение).
92
92
- И открывающая квадратная скобка `pattern:'['`.
93
93
94
94
Другими словами, разрешены все специальные символы, кроме случаев, когда они означают что-то для квадратных скобок диапазонов.
0 commit comments