過去には、JSが使用されていたとしても、メール名が多く、研究が少なくなりました。
最近、私は使用する必要があるいくつかの定期的な表現に遭遇し、ちなみに勉強しました
正規表現オブジェクトには2つの定義方法があります::
1。最初の定義:
new regexp(パターン、属性);
その中で、パターンは式の表現含有量です。上記のABCが示すかのように
属性:g、グローバルマッチング、私は小規模と小文字を区別しません、mはマルチラインマッチング、Gとiの最も使用を実行します
2。2番目の定義:/パターン/属性。
など:var reg = /abc /g;
正規表現で表現されたいくつかのルールは、ここではもはや説明されていませんが、execとMatchの違いのみが説明されています。
1。execは、以下に示すように、文字列法ではなく、正規表現の方法です。
上記の定義として
var reg = new regexp( "abc");
var str = "3ABC4、5ABC6";
reg.exec(str);
2。一致は、文字列が正規表現ルールを実行する方法です
var reg = new regexp( "abc");
var str = "3ABC4、5ABC6";
str.match(eg);
3。execとmatch Returnは配列です。
execによって実行された正規表現にサブエグジン(/s*などの小さなブラケットのコンテンツ)がない場合、一致している場合は、最初の一致する文字列コンテンツを返しますコンテンツは、この時点で一致していない場合、nullに返された場合、1つの要素のみがあります。
var reg = new regexp( "abc");
var str = "3ABC4、5ABC6";
アラート(reg.exec(str));
アラート(str.match(reg));
同じコードを実行すると、2つのコンテンツが同じであることがわかります。ABC、
4。正規表現オブジェクトがグローバルマッチングとして定義されている場合:
var reg = new regexp( "abc"、 "g");
var str = "3ABC4、5ABC6";
アラート(reg.exec(str));
アラート(str.match(reg));
ABCとABCの場合。
5。サブエクスペッションが含まれることを意味する場合:
var reg = new regexp( "a(bc)");
var str = "3ABC4、5ABC6";
アラート(reg.exec(str));
アラート(str.match(reg));
2つの実行の結果は次のとおりです。ABC、BC;
6。正規表現オブジェクトがグローバルマッチとして定義される場合
var reg = new regexp( "a(bc)"、 "g");
var str = "3ABC4、5ABC6";
アラート(reg.exec(str));
アラート(str.match(reg));
2人の返された結果は、BC、BC、ABC、ABC、
概要として:
1.正規表現にサブエクスポンションがなく、非グロバルマッチングとして定義されている場合、execと一致の結果は同じであり、最初のマッチング文字列コンテンツが返されます。
2.正規表現にサブエクスポンションがなく、グローバルマッチング、exec、およびmatchエグゼチュートとして定義され、複数のマッチングコンテンツがある場合、マッチは複数のエレメンタルアレイを返します。
3.正規表現が表され、非スケールの一致として定義される場合、execと一致の実行の結果は上記と同じです。
4.正規表現が表現され、グローバルな一致として定義されると、execと一致の結果は異なります。 、6日、6日、6日、6日、6日、6日。
つまり、幹部が全体的な状況によって定義されているかどうかは関係がなく、試合は全体的な状況に関連付けられています。