正規表現(基本)

記事の内容

正規表現(基本)

文字

単独では特に意味を持たず、その文字自身にマッチする正規表現になります。

正規表現(文字)の説明図

・大文字や小文字を識別している
・指定の前後に文字が含まれていても、チェックの文字が存在していればtrueを返す

var str1 = 'string';
var str2 = 'String';
var str3 = 'abcstringefg';

const regex = /string/;

console.log("string:" + regex.test(str1));
console.log("String:" + regex.test(str2));
console.log("abcstringefg:" + regex.test(str3));
出力結果

string : true
String : false
abcstringefg : true

\

\は、正規表現を意味する記号などを無効化し通常の記号の意味に変換する正規表現になります。

正規表現(\)の説明図
const str1 = 'a..';
const str2 = 'abc';

const regex1 = /a\.\./;
const regex2 = /a../;

console.log("(regex1)a..:" + regex1.test(str1));
console.log("(regex1)abc:" + regex1.test(str2));
console.log("(regex2)a..:" + regex2.test(str1));
console.log("(regex2)abc:" + regex2.test(str2));
出力結果

(regex1) a.. : true
(regex1) abc : false
(regex2) a.. : true
(regex1) abc : true

[ ] [^ ]

[ ]は囲われた内部に指定された文字のいずれかにマッチし、[^ ]はそれ以外にマッチする正規表現です。

正規表現([])の説明図
正規表現([^])の説明図

・[]内の文字はマッチする1文字であること

// []の場合 =======================================
const str1 = 'ABC';
const str2 = 'abc';
const str3 = 'Abc';

const regex1 = /[ABC]/;

console.log("[]ABC:" + regex1.test(str1));
console.log("[]abc:" + regex1.test(str2));
console.log("[]Abc:" + regex1.test(str3));


// [^]の場合 =======================================
const regex2 = /[^ABC]/;

console.log("[^]ABC:" + regex2.test(str1));
console.log("[^]abc:" + regex2.test(str2));
console.log("[^]Abc:" + regex2.test(str3));
出力結果

[]ABC : true
[]abc : false
[]Abc : true

[^]ABC : false
[^]abc : true
[^]Abc : true

[A-Z] [a-z]

[A-Z]はAからZまでの大文字ににマッチし、[a-z]はaからzまでの小文字にマッチする正規表現になります。

正規表現([A-Z])の説明図
正規表現([a-z])の説明図

・[A-D]の場合は、AからDまでの大文字にマッチする正規表現になる
・[a-d]の場合は、aからdまでの大文字にマッチする正規表現になる

// [A-Z]の場合 =======================================
const str1 = 'A';
const str2 = 'E';
const str3 = '1';

const regex1 = /[A-D]/;

console.log("[A-D]A:" + regex1.test(str1));
console.log("[A-D]E:" + regex1.test(str2));
console.log("[A-D]1:" + regex1.test(str3));


// [a-z]の場合 =======================================
const str4 = 'a';
const str5 = 'e';

const regex2 = /[a-d]/;

console.log("[a-d]A:" + regex2.test(str1));
console.log("[a-d]a:" + regex2.test(str4));
console.log("[a-d]e:" + regex2.test(str5));
出力結果

[A-D]A : true
[A-D]E : false
[A-D]1 : false

[a-d]A : false
[a-d]a : true
[a-d]e : false

[0-9]

[0-9]は、0から9までの数字にマッチする正規表現になります。

正規表現([0-9])の説明図

・[3-5]の場合は、3から5までの数字にマッチする正規表現になる

const str1 = 'A';
const str2 = '1';
const str3 = '3';

const regex = /[3-5]/;

console.log("A:" + regex.test(str1));
console.log("1:" + regex.test(str2));
console.log("3:" + regex.test(str3));
出力結果

A : false
1 : false
3 : true

|

|は、指定のいずれかにマッチする正規表現になります。

正規表現(|)の説明図

・複数の文字指定からマッチする正規表現になる

const str1 = '\.doc';
const str2 = '\.xls';
const str3 = '\.txt';

const regex = /.doc|.xls|.xlsx/;

console.log(".doc:" + regex.test(str1));
console.log(".xls:" + regex.test(str2));
console.log(".txt:" + regex.test(str3));
出力結果

.doc : true
.xls : true
.txt : false

記事の内容
閉じる