JSの正規表現(7)

まず、正規表現オブジェクトの作成
方法を:
コンストラクタの使用の形で:

    VaRのパターン= 新しい新しい正規表現(「正規表現」、「修飾子」);
     VARのパターン= 新しい新しい正規表現(「こんにちは」、「のIgM」);   //は文字列に一致する必要があります「こんにちは」

方法2
リテラル形式の使用:

    VaRのパターン= /正規表現/ 剤;
     VARのパターン= /こんにちは/ IgMは;   // 「こんにちは」文字列と一致する必要があります

正規表現の修飾子は:
私は(ケースを無視する)     大文字と小文字の区別[一致しない大文字小文字を区別しない ]
G(グローバル)の     一致を見つけるために、文字列全体の[ グローバル ]
M(複数行)       複数行の一致検索[ マルチライン ]

第二に、プロトタイプオブジェクトの正規表現のプロパティおよびメソッド
プロトタイププロパティ⑴:
RegExp.prototype.global [ pattern.global ]
ブール値を示すかどうかをG正規表現修飾子

RegExp.prototype.ignoreCase [ pattern.ignore ]
ブール値 Iと、この正規表現修飾子か否かを示す    

RegExp.prototype.multiline [ pattern.multiline ]
ブール値のMと、この正規表現修飾子か否かを示す    

RegExp.prototypeを。lastIndexのは、
マッチングパターンの場合テスト()とexec()メソッドを使用する場合、Gと、このプロパティが文字列全体を取得する開始位置に格納されます。
Gとしない場合、lastIndexのは0となっている

RegExp.prototype.source [pattern.source]
正規表現のテキスト含ま    

:⑵プロトタイピング
:Execの()メソッドとテスト()メソッドとlastIndexの間の関係に影響
正規表現ならば、Aをそこ修飾子「G」、パターンオブジェクトはlastIndexプロパティを維持し、次の記録位置はlastIndexのから取得始まるときEXEC第始まりました。
Bは、いかなる正規表現修飾語「G」が存在しない場合、lastIndexプロパティを維持しない、各実行は開始位置0から検索開始

1、RegExp.prototype.exec():[戻り値:マッチした結果の配列、またはnull }
VARのpattern.exec結果=(STR);


2、RegExp.prototype.test():戻り値:一致trueを返し、そうでない場合、falseを返す }
VAR = pattern.testパターン();


3、RegExp.prototype。 toString():
正規表現オブジェクトは、対応する文字列に変換

3、関連の方法は、正規表現をサポートするJavascriptの文字列
1、検索()。
str.search(正規表現);
もしパラメータ。 、正規表現ではないのRegExpコンストラクタにそれを変換することにより、最初に。
B。ウェルグローバル検索をサポートし、一致するサブストリング場合、最初に一致したストリングの位置を-1を返します。

2、一致()最も一般的な正規表現方法]
str.match(正規表現)
。復帰配列またはそのヌルマッチング結果。


[正規表現は:注意G修飾があるかどうかを時間]
G改質剤なしで、それはグローバルマッチではありません。この場合、配列の最初の要素は、文字列に一致する
残りの要素は正の表現である括弧内の部分式を使用する一致します
例えば:

    console.log( "Hello Worldのハロー" .match(/(こんにちは)/ I));   // [ "HELLO"、 "HELLO"]サークルによる定期的な表現によって、後者、文字列に一致する元の同じパターン文字列の一致する部分式の括弧[]

B。そこG改質剤は、この方法は、配列戻るとパッケージストリング内のすべての一致を含有します
例えば:

    .match(/ \ D + / g)を"1プラス2は、3に等しい" // 返回[ "1"、 "2"、 "3"]


3、{()置き換える検索を行うための操作を置き換える ]
(置換される正規表現文字列)str.replace;
例えば:

    "のhelloWorldこんにちは" .replace(/ハロー/ GI、「JavaScriptの」); // "JavaScriptWorld JavaScriptを"


図4に示すように、分割(){ の配列に変換された文字列 ]
文字列パラメータは、それが正規表現とすることができる
分割リターンアレイのB。セグメンテーションパラメータストリングまたは正規表現文字列形式、および後部を要素は、
例えば:

    "1,2,3,4,5" .split( " "); // [、 "2"、" 1" " 3" "4" " 5" ]セグメンテーション、および文字列を返します新しいアレイ 
    .split(/ \ * S、\は/ S *) "1、2 ,. 3 ,. 4 ,. 5" 。; // [、 "2"、" 1" "3" " 4" 」5" ]セパレータは、両側がブランクのままにでき

 

第四に、正規表現貪欲モードと非貪欲(遅延モード)[ デフォルト貪欲モード ]
貪欲:ケースの数を含む単一モジュールの正規表現は:マッチの最大数の好ましい
非貪欲モードを定期的にマッチの好ましい最小数:式モジュールは、単一の周波数を含む場合
:に変換貪欲貪欲
回数プラスの背後に配置された単一の正規表現モジュール、変換することができる
例えば:

    VaRの STR = 'Hello Worldのジャバスクリプト' ;
     VARのパターン= / \ W {3,8} / I; 
    はconsole.log(pattern.exec(STR)); // 貪欲:結果[ 'ハロー'] 
    VaRのパターン= ?/ \ W {3,8} / I; 
    はconsole.log(pattern.exec(STR)); // 非貪欲:結果[ 'HEL']

 

おすすめ

転載: www.cnblogs.com/nzcblogs/p/11203286.html