JS正規表現のテスト、exec、マッチメソッドの違い
テスト
テストはブール値を返し、対応する文字列の存在モードを見つけます。
var str = "1a1b1c";
var reg = new regexp( "1."、 "");
アラート(reg.test(str));
exec
execは、現在の一致する結果を見つけて返し、配列の形で返されます。
var str = "1a1b1c";
var reg = new regexp( "1."、 "");
var anrr = reg.exec(str);
モードがない場合、arrはnullです。それ以外の場合は、arrの長さは常に1の配列であり、その値は現在のマッチングです。 ARRには3つの属性があります。現在のマッチングアイテムの位置(インデックス +電流の一致の長さ)。
execメソッドはパラメーターGの影響を受けます。 Gが指定されている場合、execが次回呼び出されると、lastindexから開始され、一致しました。
var str = "1a1b1c";
var reg = new regexp( "1."、 "");
アラート(reg.exec(str)[0]);
アラート(reg.exec(str)[0]);
上記の2つの出力は1aです。次に、指定されたパラメーターgを見てください。
var str = "1a1b1c";
var reg = new regexp( "1."、 "g");
アラート(reg.exec(str)[0]);
アラート(reg.exec(str)[0]);
最初の出力1a、2番目の出力1b。
マッチ
一致は文字列オブジェクトの方法です。
var str = "1a1b1c";
var reg = new regexp( "1."、 "");
アラート(str.match(reg));
この方法はexecに少し似ていますが、execはregexpオブジェクトの方法です。 2つの間には別の違いがあります。これはパラメーターGの説明です。
パラメーターGが指定されている場合、一致は一度にすべての結果に戻ります。
var str = "1a1b1c";
var reg = new regexp( "1."、 "g");
アラート(str.match(reg));
// alerts(str.match(reg)); //上記の文の結果と同じです。
この結果は、1a、1b、1cの3つの要素を持つ配列です。
2つの機能はJavaScriptでよく使用され、もちろん、マッチとテストが使用されることがよくあります。
Exmpleを一致させます
次のようにコードコードをコピーします。
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = str.match(regexp);
// rs = array( 'a'、 'b'、 'c'、 'd'、 'e'、 'a'、 'b'、 'c'、 'd'、 'e');
テストの例
次のようにコードコードをコピーします。
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = regexp.test(str);
// rs = true;
Excの例
次のようにコードコードをコピーします。
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs;
while((rs = regexp.exec(str))!= null)
{{
document.write(rs);
document.write(regexp.lastindex);
document.write( "<br />");
}
出力
-------------------------------------------------------------- --------------------------------------------
A 1
B 2
C 3
D 4
E 5
27
B 28
C 29
D 30
E 31
別のexmple
次のようにコードコードをコピーします。
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
while((rs = regexp.exec(str))!= null)
{{
document.write(rs);
document.write(regexp.lastindex);
document.write( "<br />");
}
出力
-------------------------------------------------------------- --------------------------------------------
ABB 3
AB 9