Экранирование классов символов: \d, \D, \w, \W, \s, \S
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Экранирование класса символов — это escape-последовательность, представляющая набор символов.
Синтаксис
\d, \D \s, \S \w, \W
Примечание: , не является частью синтаксиса.
Описание
В отличие от экранирования символов, экранирование классов символов представляет собой предопределенный набор символов, очень похожий на класс символов. Поддерживаются следующие классы символов:
-
\d - Соответствует любому цифре. Эквивалентно
[0-9]. -
\w - Соответствует любому символу слова, где символ слова включает буквы (A–Z, a–z), цифры (0–9) и знак подчеркивания (_). Если регулярное выражение обрабатывает Unicode и установлен флаг
i, он также соответствует другим символам Unicode, которые канонизируются к одному из указанных выше символов посредством свертывания регистра. -
\s - Соответствует любому пробельному символу или терминатору строки.
Прописные формы \D, \W и \S создают комплементарные классы символов для \d, \w и \s соответственно. Они соответствуют любому символу, который не входит в набор символов, соответствующий строчной форме.
Экранирование символов Unicode начинается с \p и \P, но они поддерживаются только в режиме обработки Unicode. В режиме, не обрабатывающем Unicode, они являются идентичными экранированиями для символа p или P.
Экранирование классов символов можно использовать в классах символов. Однако их нельзя использовать в качестве границ диапазонов символов, что разрешено только как устаревшая функция для совместимости с веб-браузерами, и на нее не следует полагаться.
Примеры
Разделение по пробелам
Следующий пример разделяет строку на массив слов, поддерживая все виды разделителей пробелов:
function splitWords(str) {
return str.split(/\s+/);
}
splitWords(`Look at the stars
Look how they\tshine for you`);
// ['Look', 'at', 'the', 'stars', 'Look', 'how', 'they', 'shine', 'for', 'you']
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
character_class_escape |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
См. также
- Руководство по классам символов
- Регулярные выражения
- Класс символов:
[...],[^...] - Экранирование символов Unicode:
\p{...},\P{...} - Экранирование символов:
\n,\u{...} - Дизъюнкция:
|
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Character_class_escape