自分の学習用です
#正規表現とは
文字列の集合を一つの文字列で表現する方法で、
文字列に特定の文字が含まれているかを確認することや、特定の文字を取り除くなどの操作を行うための技術
代表的な特徴
・文字列の一部分を置換する
・文字列が制約を満たしているか調べる
・文字列の一部分を抽出する
##「RegExp」オブジェクト
正規表現の英名【Regular Expression】が由来となる。
JavaScriptで正規表現を扱えるようにするためには、まず**「RegExp」オブジェクト**を作成する必要がある。
RegExpオブジェクトを利用することで、正規表現による検索や置換など文字列操作を自在に扱えるようになる。
構文
var reg = new RegExp( パターン, フラグ );//newでRegExpオブジェクトを生成して変数に代入
引数の「パターン」には一般的な正規表現を指定し、「オプション(g,i,mなど)」を指定する。
正規表現の文字列指定には注意が必要であり、正規表現で一般的に使う「\d」「\w」などの**「\(バックスラッシュ)」はエスケープ処理と判断されるため、対応策として「\\d」や「\\w」のように2重で記述**する。
new RegExp('\\d\\d');
##メソッド一覧
###①RegExpオブジェクトから呼び出すメソッド
execメソッド
正規表現に合致する文字列を検索
let string = 'abcdefgab';
let regexp = RegExp('[a-b]')
let result = regexp.exec(string);
console.log(result); // => [ 'a', index: 0, input: 'abcdefgab', groups: undefined ]
testメソッド
正規表現に合致する文字列が含まれているか判定する
let string = 'abcdefgab';
let regexp = RegExp('[a-b]', 'g')
let result = regexp.test(string);
console.log(result); // => true
###②Stringオブジェクトから呼び出すメソッド
match メソッド
正規表現に合致する文字列を検索できます。g オプションが有効の場合、合致する文字列の配列を返す
let string = "ABCDEFGABCD"
let result = string.match(/[a-b]/gi);
console.log(result); // => [ 'A', 'B', 'A', 'B' ]
searchメソッド
正規表現に合致する文字列が最初にでてきた位置を取得する
let string = "cdseabcde"
let result = string.search(/[a-b]/);
console.log(result); => 4
replaceメソッド
正規表現に合致する文字列を、別の文字列に置き換える
let string = "123-4567";
let result = string.replace(/\d{3}-?d{4}/, '***-****');
console.log(result);
splitメソッド
正規表現に合致する文字列を区切り文字として、文字列を分割し。分割結果を配列として返す。
let regexp = RegExp('[-\/\.]'); // '-', '/', '.' にマッチ
let string1 = '2019-04-10'
let result1 = string1.split(regexp);
console.log(result1) // => [ '2019', '04', '10' ]
let string2 = '2019/04/10'
let result2 = string2.split(regexp);
console.log(result2) // => [ '2019', '04', '10' ]
let string3 = '2019.04.10'
let result3 = string3.split(regexp);
console.log(result3) // => [ '2019', '04', '10' ]
##参考サイト
正規表現リファレンス
MDN
伊藤淳一さんのQiita
初心者歓迎!目と手で覚える正規表現入門
正規表現一覧(チートシート)サイト
murashun.jp
javascript向け正規表現学習サイト
Scriptular
視覚的・正規表現出力サイト
Regexper