javascript RegExpタイプ


var expression = /pattern/flags;
    パターン部分は、任意の単純または複雑な正規表現を使用してもよく、文字クラス、限定子、グループ化、前向き検索、後方参照を含むことができます.各正規表現は、正規表現の挙動を表すために1つ以上のフラグを付けることができます.正規表現のマッチングモードは、次の3つのフラグをサポートします.
  • g:グローバル(global)モードを表し、最初のマッチが発見された時点で停止するのではなく、すべての文字列にモードが適用される.
  • i:大文字小文字(case-innsensitive)モードを区別しないこと、すなわちマッチング項目を決定する際に、モードと文字列の大文字小文字を無視すること.
  • m:マルチライン(multiiline)モードを表しています.つまり、テキストの行の最後に到達すると、次の行にパターンマッチングの項目があるかどうかを検索し続けます.
  • 字面量で定義された正規表現
  • /*
    *         "at"   
    */
    var pattern1 = /at/g;
    
    /*
    *      "bat" "cat",      
    */
    var pattern2 = /[bc]/at/i;
    
    /*
    *      "at"   3      ,      
    */
    var pattern3 = /.at/gi;
    他の言語の正規表現と似ています.使用モードのすべての要素文字は意味を変えなければなりません.正規表現には、元の文字が含まれています.
    (\^$124;?*+.)
    このようなメタ文字は正規表現には一つまたは複数の用途がありますので、文字列に含まれる文字にマッチする場合は、彼らを変換しなければなりません.
    /*
     *         “at”   3      ,      。
    */
        var patttern = /\[bc\]at/i;
    /*
    *         “at”   3      ,      。
    */
    var pattern3 = /\.at/i
    2.正規表現を作成する別の方法は、RexRegコンストラクタを使用して、二つのパラメータを受け入れることです.一つは一致する文字列のモードで、もう一つはオプションのフラグ文字列です.文字の量で定義できる任意の表現は、構造関数で定義できます.次の二つの例に示すように、
    /*
    *       "bat" "cat",      
    */
    var pattern1 = /[bc]at/i;
    
    /*
    *   pattern  ,            
    */
    var pattern2 =  new RegExp("[bc]at", "i");
        ここで、pattern 1とpattern 2は2つの完全に等価な正規表現です.なお、RegExpコンストラクタに渡される二つのパラメータは文字列である(正規表現の文字どおりの量をRegExpコンストラクタに渡すことはできない).RegExpコンストラクタのモードパラメータは文字列であるため、文字を二重変換する場合があります.すべての元の文字は二重変換しなければなりません.変換された文字列も、例えば「文字列」では「\」と定義されていますが、正規表現の文字列では「\\\\」となります.
    RegExpの属性と方法のまとめ:http://www.w3school.com.cn/jsref/jsref_OBregexp.asp
    良い記事:http://www.nowamagic.net/librarys/veda/detail/1283