正規表現(文字セット)

記事の内容

正規表現(文字セット)

\w\W

\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)の説明図
正規表現(\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)の説明図
正規表現(\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)の説明図
アンカー(\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

記事の内容
閉じる