文字クラスエスケープ: \d, \D, \w, \W, \s, \S
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
文字クラスエスケープは、文字の集合を表すエスケープシーケンスです。
構文
regex
\d, \D
\s, \S
\w, \W
メモ:
, is not part of the syntax.
解説
文字エスケープとは異なり、文字クラスエスケープは、文字クラスのように、事前に定義された文字の集合を表します。以下の文字クラスに対応しています。
\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 文字の識別子エスケープです。
文字クラスエスケープは文字クラスで使用することができます。しかし、文字範囲の境界として使用することはできません。これはウェブの互換性のための非推奨構文としてのみ認められており、頼ってはいけません。
例
>ホワイトスペースでの分割
次の例は、文字列を単語の配列に分割します。すべての種類のホワイトスペース区切り文字に対応しています。
js
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 Language Specification> # prod-CharacterClassEscape> |