JS上位の正規表現


JS上位の正規表現
正の表現は実際の開発においては直接的に引用されることが多いので、学習段階では分かりやすく、開発時にはプロジェクトのニーズに応じてどのように修正すればいいのかが分かります.
1.正規表現の概要
1.1正規表現とは?
正規表現(Reglar Expression)は、文字列内の文字の組み合わせをマッチングするためのモードです.JavaScriptでは、正規表現も対象です.正規表は通常、あるパターン(ルール)に該当するテキストを検索し、置換するために用いられます.例えば、認証フォーム:ユーザー名フォームは英字、数字または下線しか入力できません.ニックネーム入力ボックスには中国語(マッチング)を入力することができます.また、正規表現は、ページの内容の中の敏感語(置換)をフィルタリングしたり、文字列から私たちが欲しい特定の部分(抽出)を取得したりするためにも使われます.
1.2正規表現の特徴
  • は柔軟性、論理性、機能性が非常に強いです.
  • は、文字列の複雑な制御を迅速に極めて簡単に行うことができる.
  • 2.正規表現のjsでの使用
    2.1正規表現の作成
    //   :    RegExp         
    var regexp = new RegExp(/123/); 
    console.log(regexp);
    
    //   :             
    var reg = /123/;
    
    2.2試験正規表現
    test()正規のオブジェクト方法は、文字列がこの規則に合っているかどうかを検出します.オブジェクトはtrueまたはfalseを返します.パラメータはテスト文字列です.
    var reg = /123/; 
    console.log(rg.test(123));//         123       true 
    console.log(rg.test('abc'));//         123       false
    
    3.正規表現の特殊文字
    3.1正規表現の構成
    正規表現は簡単な文字で構成されてもいいし、例えば/ab c/であってもいいし、特殊文字の組み合わせであってもいいです.この中の特殊文字は元文字とも呼ばれ、正規表現では^、米ドル、+などの特殊な意味を持つ専用記号です.
    3.2境界符
    境界線
    説明
    ^
    行頭にマッチするテキスト(誰で開始しますか?)を表します.
    $
    行頭にマッチするテキスト(誰で終了しますか?)を表します.
    もし^と$が一緒なら、表現は正確に一致する必要があります.
    3.3文字クラス
    文字クラスは、一連の文字を選択できます.一つだけマッチすればいいです.選択可能なすべての文字を大かっこに入れます.
    3.3.1[]四角い括弧:選択できる一連の文字があることを示しています.一つにマッチすればいいです.
    3.3.2量の文字:助数詞符は、あるパターンの出現回数を設定するために使用されます.
    助数詞
    説明

    0回以上繰り返します.

    1回以上繰り返します.
    ?
    0回または1回の繰り返し
    {n}
    n回繰り返す
    {n,}
    これ以上繰り返します.
    {n,m}
    n回からm回繰り返します
    3.3.3括弧のまとめ
    1.大かっこ:助数詞符、中は重複回数を表します.
    2.中かっこ(大かっこ):文字セット、四角い括弧の任意の文字にマッチします.
    3.小かっこ:優先度を表します.
    3.4事前定義類(いくつかの一般的なパターンの簡潔なパターンを指す)
    予約クラス
    説明
    \d
    0~9のいずれかにマッチする数字は、[0-9]に相当します.
    \D
    0~9以外の文字とマッチし、および\dに対して逆をとる
    \w
    任意の文字、数字、下線を合わせると、[A-Za-z 0-9_]に相当します.
    \W
    に対して反をとる
    \s
    スペースのマッチング(改行、タブ、スペース記号などを含む)は、[\t\r\v\f]に相当します.
    \S
    に対して反をとる
    3.5正則をreplaceに置き換える
    	replace()              ,                        。
    
    var str = 'andy red'; 
    var newStr = str.replace('andy', 'baby'); 
    console.log(newStr)//baby red 
    //       andy           
    var newStr2 = str.replace(/andy/, 'baby'); 
    console.log(newStr2)//baby red 
    //     
    var str = 'abcabc' 
    var nStr = str.replace(/a/,'  ') 
    console.log(nStr) //  bcabc 
    //    g 
    var nStr = str.replace(/a/a,'  ') 
    console.log(nStr) //  bc  bc 
    //     i 
    var str = 'aAbcAba'; 
    var newStr = str.replace(/a/gi,'  ')//"    bc  b  "
    
    //  :      
    <textarea name="" id="message"></textarea> 
    <button>  </button> 
    <div></div> 
    <script>     
        var text = document.querySelector('textarea');     
        var btn = document.querySelector('button');     
        var div = document.querySelector('div');     
        btn.onclick = function() {      
            div.innerHTML = text.value.replace(/  |gay/g, '**');          
        }
    </script>