js RegExpオブジェクトラーニング(正規表現オブジェクト)

2408 ワード

replaceメソッドとRegExpを組み合わせて使用
  
  var str = "L.Rain"; 
  var regExpTest = '' ;
  regExpTest = str.replace(/[R|n]/g , "*"); 

  var regExp = new RegExp("[R|n]","gi") ;
  regExpTest = str.replace(regExp,'*') ;
  //           

   RegExpオブジェクトのコンストラクション関数には、1つまたは2つのパラメータがあります.
1番目のパラメータは、マッチングが必要なモード文字列を記述し、2番目のパラメータがある場合、このパラメータは追加の処理命令を指定します.
  最も基本的な正規表現は普通の文字列です
g :

  var reCat = new RegExp("cat");    
  var reCat = /cat/;
  var reCat = new RegExp("cat","g"); 
  //              cat
  //          cat

 
2番目のパラメータは、最初の一致が見つかったら停止するのではなく、文字列が現れるすべてのcatを検索することを示します.
また、モードで大文字と小文字を区別しない場合は、2番目のパラメータに文字を追加できます.
i :

   var reCat = new RegExp("cat","gi");
   var reCat = /cat/gi;

  テスト:

   var sToMatch = "cat";
   var reCat = /cat/gi;
   alert( reCat.test(sToMatch) );

RegExpオブジェクトのアプローチ:
 
RegExp.exec():アクセスモードが表示されるたびに

    var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
    var reAt = /at/;
    var arrMatches = reAt.exec(sToMatch);
    alert(arrMatches.length);   // output  1

 
RegExp.test():文字列がパターンに一致するかどうかを検出する方法
正規表現に合っているかどうかを判断するのによく使われます
trueまたはfalseを返します

   var str = "ExpTest";
   var patt1 = new RegExp("ExpTest");
   var result = patt1.test(str);
   
   alert(result);//  true      

 
String.match():Stringオブジェクトのmatch()  方法

    var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
    var reAt = /at/gi;
    var arrMatches = sToMatch.match(reAt);
    alert( arrMatches.length );   // output  6

 
String.search():indexOf()メソッドと同様に、
しかし、文字列ではなくRegExpオブジェクトを使用しています.
文字列内の一致する位置を返します.
(g)グローバルマッチングはこの方法では機能しない.
 
String.replace():ある文字列または一致する文字列の代わりに別の文字列(2番目のパラメータ)を使用できます.
パターン文字列(最初のパラメータ)のすべての一致.
 
String.split():パラメータは、1つの文字列または一致するパターン文字列RegExpオブジェクトとすることができます.