正規表現(基本)
文字
単独では特に意味を持たず、その文字自身にマッチする正規表現になります。
・大文字や小文字を識別している
・指定の前後に文字が含まれていても、チェックの文字が存在していれば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-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までの数字にマッチする正規表現になります。
・[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