Spec-Zone.ru › JavaScript

Экранирование классов символов: \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']

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# prod-CharacterClassEscape

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API