記事の内容
正規表現(文字セット)
\w\W
\wは大文字と小文字の英字・数字・アンダースコアにマッチし、\Wはそれ以外にマッチする正規表現です。
・\wは[A-Za-z0-9_]と同様の意味になる
例
// \wの場合 =======================================
const str1 = "user-1";
const str2 = 'user_1';
const regex1 = /\w{5}/;
console.log("user-1:" + regex1.test(str1));
console.log("user_1:" + regex1.test(str2));
// \Wの場合 =======================================
const str3 = "%@-";
const str4 = '_12';
const regex2 = /\W{3}/;
console.log("%@-:" + regex2.test(str3));
console.log("_12:" + regex2.test(str4));
出力結果
user-1 : false
user_1 : true
%@- : true
_12 : false
\s \S
\sは空白にマッチし、\Sは空白以外にマッチする正規表現になります。
例
// \sの場合 =======================================
const str1 = 'HelloWorld';
const str2 = 'Hello world';
const regex1 = /Hello\sworld$/;
console.log("HelloWorld:" + regex1.test(str1));
console.log("Hello world:" + regex1.test(str2));
// \Sの場合 =======================================
const str3 = ' ';
const str4 = '1';
const regex2 = /\S/;
console.log("空白:" + regex2.test(str3));
console.log("1:" + regex2.test(str4));
出力結果
HelloWorld : false
Hello world : true
空白 : false
1 : true
\d \D
\dは数字にマッチし、\Dは数字以外にマッチする正規表現です。
・\dは[0-9]と同様の意味になる
・\Dは[^0-9]と同様の意味になる
例
// \dの場合 =======================================
const str1 = '123';
const str2 = '1a234';
const str3 = '12abc3';
const regex1 = /\d{3}/;
console.log("\\dの場合");
console.log("123:" + regex1.test(str1));
console.log("1a234:" + regex1.test(str2));
console.log("12abc3:" + regex1.test(str3));
// \Dの場合 =======================================
const regex2 = /\D{3}/;
console.log("\\Dの場合");
console.log("123:" + regex2.test(str1));
console.log("1a234:" + regex2.test(str2));
console.log("12abc3:" + regex2.test(str3));
出力結果
\dの場合
123 : true
1a234 : true
12abc3 : false
\Dの場合
123 : false
1a234 : false
12abc1 : true
\b \B
\bは単語の境界にマッチし、\Bは単語の境界以外にマッチする正規表現です。
例
// \bの場合 =======================================
const str1 = "japan";
const str2 = 'japanese';
const regex1 = /japan\b/;
console.log("japan:" + regex1.test(str1));
console.log("japanese:" + regex1.test(str2));
// \Bの場合 =======================================
const regex2 = /japan\B/;
console.log("japan:" + regex2.test(str1));
console.log("japanese:" + regex2.test(str2));
出力結果
\bの場合
japan : true
japanese : false
\Bの場合
japan : false
japanese : true