概要
javascriptの正規表現は次のような特徴があります。
・RegExpクラスを用いる
・Stringクラスを用いる
・初期はperlに近い
・パターンマッチング、テキスト検索、テキスト置換等のメソッドが定義されている
・正規表現リテラルは文字列をスラッシュで囲む
RegExpオブジェクト
サンプルコードを書いて試してみます。
まずはRegExpオブジェクトの生成を行い、変数testに代入します。
let test = /^a$/; console.log(test);
このコードをそのまま実行すると、ブラウザのログ出力には次のように出力されます。
/^a/ flags: "" global: false ignoreCase: false lastIndex: 0 multiline: false source: "^a" sticky: false unicode: false <prototype>: Object { … }
正規表現のパターン定義については、ここでは詳しく触れませんが、
「^a」は「先頭の文字列がaのもの」にマッチします。
RegExpコンストラクタ
上記と同様の書き方として、RegExp()コンストラクタで書く方法もあります。
次のようになります。
let test2 = new RegExp("^a"); console.log(test2);
ログ出力結果も上記の出力と同じになります。
正規表現のパターンマッチについては一つ一つ確かめていきます。