by shigemk2

当面は技術的なことしか書かない

JavaScript Ninjaの極意 7 正規表現のコンパイル

式の複雑さが増すと、正規表現を後で使うために定義(そしてコンパイル)しておくことにより、
顕著な性能の向上が得られるだろう。

コンパイルされた正規表現JavaScriptで作る方法は、

がある。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Listing 7.2</title>
    <script type="text/javascript" src="../scripts/assert.js"></script>
    <link href="../styles/assert.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <script type="text/javascript">

      var re1 = /test/i;                           //#1 リテラル

      var re2 = new RegExp("test", "i");           //#2 コンストラクタ

      assert(re1.toString() == "/test/i",
             "式の内容を確認。");
      assert(re1.test("TesT"), "大文字と小文字を区別しない。");
      assert(re2.test("TesT"), "こちらも同じ。");
      assert(re1.toString() == re2.toString(),
            "2つの正規表現は等しい。");
      assert( re1 != re2, "両者は別のオブジェクトである。");
    </script>
  </body>
</html>