理解と実践の文字列と正規表現の使用を置き換えます

次のコードに示す(デモアドレスhttps://codepen.io/peach_/pen/jONJjRY):

1.理解し、文字列を使用して練習し、正規表現の使用を置き換え、

学習2.正規表現

正規表現の千分の3.

// 文字列は理解と実践を置き換える
@ 例出典:HTTPS://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replaceの
VaRの再= /(\ W +)\ (\ + W)/ S VaRの STR = "ジョン・スミス" ;
 / * 
各正規表現の部分式は$ 1 $ 2の値(\ + W)と(\ + W)、\は部分式が、メタ文字じゃない、請求
  /(\ W +)\ S +(\ W +)/ 
    $を1 $ 2。
    
* / 
VAR newstr1 = str.replace(再、 "$ 2、$ 1。" );
 VAR newstr2 = str.replace(再、 "$ 2 $ 1。" ); 



はconsole.log (newstr1); // スミス、ジョン 
にconsole.log(newstr2); // SmithJohnの

はconsole.log(str.replace(再、 "$ 1 666")); //666ジョン

はconsole.log(str.replace(RE、 "$&AAA")); // ジョン・スミスAAAの
 = ' "A"、 "B"' ; 

はconsole.log(name.replace( /「/ G、 」1' )); //   1A1、1B1 
               // 正規マッチング手段次いで、マッチング複数の" "の開始に続いていない" 
はconsole.log(name.replace(/"([^ "] *)" / G、「『$ 1』」)); //   「」、「B」


// この例では、我々は、文字列内のすべての単語の最初の文字が大文字に変換されます:
// 例ソースします。https:/ /www.w3school.com.cn/jsref/jsref_replace.aspの
VaRの NAME2は= 'AAA BBB CCC' ;
 / * 
/ \ Bの\のW + \ B / G 
正規表現構文解析     
\ bは、単語の境界と一致する単語を参照してスペースとの間の位置、例えば、 'えー\ bは、ER」「ではなく、一致していない 『動詞』」ER「で 『絶対』と一致しません」。
\ wのマッチ文字、数字、アンダースコア。それは[A-ZA-Z0-9_]と等価です 」。

* / 

関数(ワード){ 
  にconsole.log(ワード、 'ここで');   // 出力BBB CCC AAAのリターン word.substring(0,1).toUpperCase()word.substring +(1 ); 
}); 
コンソール.logの(UWは、 '大文字の最初の文字に変換される')// BBB CCCはのAAA用に/ * 
します。https:// //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects例ソース/文字列/置き換え
互恵の華氏摂氏への変換部
以下の例では、摂氏と同等に華氏に変換する方法を示します。華氏プラス「F」と番号が表され、この機能は摂氏の数を示すために、プラス「C」が返されます。入力が212Fであれば、例えば、この機能は100Cを返します。デジタル入力が0Fである場合、このメソッドは「-17.77777777777778C」を返します。
正規表現は、Fのエンディングでの番号のいずれかどうかを確認するテストします。二番目のパラメータP1によって機能に華氏。この機能は、華氏F2Cは摂氏した文字列として機能するように基づいています。その後F2Cは、()摂氏を返します。この関数は、Perl同様のフラグS /// Eであります Varのあなたname2.replace =(/ \ B \ + \ W B / G、
  






 * / 

// パラメータ説明の関数として示される第2のセットを交換します
/ * 

パラメータ部としての機能を指定し
ますが、2番目のパラメータとして関数を指定することができます。この場合には、マッチが行われた場合、関数が実行されます。置換文字列として戻り値。(注:特定の置換がここで使用できない上記パラメータ)また、最初のパラメータが正規表現であり、それはグローバルマッチングモードである場合、この方法は、それぞれ、複数回呼び出されることに注意してください第二試合が呼び出されます。

以下は、関数のパラメータである

代表的な変数値
のサブストリングが一致する一致します。(上記&$に対応。)
P1、P2、...     
最初のパラメータは交換する場合()メソッドRegExpオブジェクト、マッチングブラケットが表すn番目の列です。例えば(等上記$ 1、$ 2に対応する)、/(\ A +)(\の場合のB +)/ P1が+ \整合され、これが一致し、P2は、B + \整合されます。

オフセット     
マッチは、元の文字列の部分文字列のオフセット。(元の文字列が「ABCD」である場合、例えば、マッチした部分文字列が「BC」であり、このパラメータがあろう。1)

文字列は、元の文字列と一致しました。
NamedCaptureGroupグループオブジェクトにマッチした取り込み名前

* / 



関数F2Cを、(X){
   / * 
  最初のパラメータを前提と置き換える正規表現 
  2番目のパラメータは、匿名の関数である場合に置き換えます
    最初のパラメータが一致する文字列である
    文字サブ一致する正規表現が続く二番目のパラメータを
    ....      
   第2のパラメータは、オフセット元の文字列にマッチした部分文字列の逆数である
   マッチされる元の文字列の最初の世代の逆数。
  * / 
  機能変換(STR、P1、Sオフセット){ 
    にconsole.log( 'ここで'、STR、P1、Sオフセット); // 0である212F 212F 212 
    リターン。((p1-32)5 * / 9)+ "C";
   }
   VARの S =文字列(X);   // 文字列に、及びのtoString()区別参照https://www.cnblogs.com/leeke98/p/9754859.html 
  // (:?パターン)が、これは後で使用するために保存されていない、非アクセスの試合であることを、パターンに一致するが、結果に一致し得ることはありません。(|)「または」文字のこの使用モデルのさまざまな部分を結合すると便利です。たとえば、:|「産学(?Y IES)は、より簡潔な表現産業|産業の比率です」。
       // ワード境界シンボルと一致する。あるいは、入札の前に、ゼロ以上の数字はF-ワード境界に続く0回以上一致している
  リターンVaRのテスト= /(\d+(?:\.\d*)?)F\b/ G;   

  ; s.replaceは(テスト、変換)し
} 
F2C、( '212F' // -------- ------- 
// 解析関数上記関数F2C(X){
   / * 
  最初のパラメータは、前提条件が正規表現で置き換えるある
  場合には、第2のパラメータは、匿名関数で置き換える
    最初のパラメータが一致していますストリング
    第2のパラメータは、サブ文字が一致する正規表現である* / 関数変換(STR、P1、P2、Sオフセット){ 
    にconsole.log( 'ここで分析'、STR、P1、P2、オフセットを、S); // 212Fhhh HHH 0 212 212Fhhh リターン((p1-32)* 5/9)+ "C";
   }
   VARの S =文字列(X);   //



  
  
    文字列に変換し、のtoString()の区別がhttps://www.cnblogs.com/leeke98/p/9754859.html参照
  //試験/(\d+(?:\.\d*)?)F\b/g = VAR;   
  VARのテスト= /(\d+(?:\.\d*)?)F(\w+)\b/ G; 

  リターン(テストは、変換し)んs.replace; 
} 


F2C( '212Fhhh' 

// 通常の学習アドレスします。https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md 
// (以下、通常のビューの一致効果にコピーすることができます)オンラインのアドレスを練習:https://regex101.com/r/IDDARt/1 
// 正の第1アサーションの練習千分の 
せデバイド= / \ B(= (? \ {D} 3)+ \のB)/ G;
 / * 
\非マッチング文字の境界Bの
\ Bは、文字境界が一致する
非文字の境界と一致し、その後、1つまたは複数の後続の3桁の存在を持っている必要が文字の境界、すなわち、右端の列
例:「123」\ Bが1と2の間で、2と3の間意味   
        \ B 1 3の左右を意味する
* / 
strDivideましょう = '123456789'を// にconsole.log(divide.exec(strDivide)); 
console.log(strDivide.replace(分割、 '')); // 123456789

上記のコード:通常の試合結果の千分のを達成するために、最後の(結果を参照してくださいコードのコメントリンクアドレスがあります):

 

おすすめ

転載: www.cnblogs.com/taohuaya/p/11595118.html