Character class escape: \d, \D, \w, \W, \s, \S
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Một character class escape là một escape sequence đại diện cho một tập hợp ký tự.
Cú pháp
\d, \D
\s, \S
\w, \W
Note:
, không phải là một phần của cú pháp.
Mô tả
Không giống như character escapes, character class escapes đại diện cho một tập hợp ký tự được định nghĩa sẵn, giống như một character class. Các character classes sau được hỗ trợ:
\d-
Khớp bất kỳ ký tự chữ số nào. Tương đương với
[0-9]. \w-
Khớp bất kỳ ký tự từ nào, trong đó ký tự từ bao gồm các chữ cái (A–Z, a–z), số (0–9), và dấu gạch dưới (_). Nếu regex là Unicode-aware và flag
iđược đặt, nó cũng khớp với các ký tự Unicode khác được chuẩn hóa thành một trong các ký tự trên thông qua case folding. \s-
Khớp bất kỳ ký tự khoảng trắng hoặc ký tự kết thúc dòng nào.
Các dạng chữ hoa \D, \W, và \S tạo ra các character classes bổ sung cho \d, \w, và \s tương ứng. Chúng khớp bất kỳ ký tự nào không nằm trong tập hợp ký tự được khớp bởi dạng chữ thường.
Unicode character class escapes bắt đầu bằng \p và \P, nhưng chúng chỉ được hỗ trợ trong Unicode-aware mode. Trong Unicode-unaware mode, chúng là identity escapes cho ký tự p hoặc P.
Character class escapes có thể được sử dụng trong character classes. Tuy nhiên, chúng không thể được sử dụng làm ranh giới của các dải ký tự, điều này chỉ được phép như một cú pháp không dùng nữa để tương thích web, và bạn không nên dựa vào nó.
Ví dụ
>Tách theo khoảng trắng
Ví dụ sau tách một chuỗi thành một mảng các từ, hỗ trợ tất cả các loại dấu phân cách khoảng trắng:
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']
Thông số kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # prod-CharacterClassEscape> |