1. マッチング パターン タグ:
g ------- は、最初に一致が見つかったときにすぐに終了するのではなく、グローバル パターンを表します。
i ------- は、大文字と小文字を区別しないパターンを表します。
m ----- は、複数行のマッチングを意味します。1 行が終了したら、次の行にマッチングを続けます。
//最初のコウモリまたはネコと一致します。大文字と小文字は区別されません
var pattern1 = /[bc]at/i
var pattern2 = new RegExp ("[bc]at" ,"i"); //上記と同じ
RegEXp を使用してリテラルモードを文字列に変換します
/[bc]at/ ==== ===> "\[bc\]at"
/.at/ ==========> "\.at"
/名前/年齢/ ===== => "名前\/年齢 "
/d.d{1,2}/ ======> "\d.\d{1,2}"
/w\hello\123/ ====>"\ w\\hello\\123
2.RegExp インスタンス属性
global - g フラグが設定されているかどうかを示すブール値
ignoreCase - 示すブール値i フラグが設定されているかどうか
multiline - m フラグが設定されているかどうかを示すブール値
lastIndex - 次の一致の検索を開始する位置を示す整数
source - リテラル形式の文字列
var pattern2 = new RegExp("\[bc\] at","i");
alert(pattern2.source); //"[bc]at"
3.RegExp インスタンス メソッド
exec() メソッドは 1 つのパラメータを受け取ります正規表現が適用される文字列です。
は配列と 2 つの属性のインデックスと入力を返します。配列の最初の項目はパターン全体に一致する文字列で、他の項目はキャプチャに一致する文字列です。パターン内のグループ
var text "mom and dat と赤ちゃん";
var pattern = /mom(とお父さん (と赤ちゃん)?)?/gi;
varmatches = pattern.exec(text);
alert(matches.index) ); //0
alert(matches.input); / /「ママとパパと赤ちゃん」
alert(matches[0]); //「ママとパパと赤ちゃん」
alert(matches) [1]); //「お父さんと赤ちゃん」
alter(matches[2]) //「赤ちゃんと」
非グローバルで exec() が呼び出されるたび
グローバル モードでは毎回 ecec() を呼び出すと、文字列の次の一致が返され、lastIndex の値が増加します
test() メソッド正規表現が適用される文字列を 1 つのパラメータとして受け入れます。一致する場合は true を返し、そうでない場合は false を返します。
var text = "000-00-0000";
var pattern = /d{3}-d{2}-d{4 }/;
if (pattern.test(test)) {
alert("一致! ");
}
4.RegExp コンストラクター属性
var text = "これは短い夏でした";
var pattern = /(.)host/g;
if (pattern.test() text) ){
alert(RegExp.input); // これは短い夏でした。 RegExp.$_ に相当する、一致する最新の文字列。 Opera は
alert(RegExp.lastMatch) をサポートしません。 / /short RegExp["$&"] に相当する最新の一致。opera は
alert(RegExp.lastParen) をサポートしていません。 //s RegExp["$ " ] に相当する最新の一致キャプチャ グループ。 ,opera は
alert(RegExp.leftContext) をサポートしていません。 // これは RegExp["$`"] と同等の、一致前のテキストです。
alert(RegExp.rightContext); //一致する項目の後のテキストは RegExp["$'"]、
alert(RegExp.multiline); //false 複数行モードですか、RegExp["$*"]、opera および IE と同等です なしサポート
}
RegExp.$1 …… RegExp.$9 ストレージ キャプチャ グループ
var text = "これは短い夏でした"
var pattern =/(..)or(.)/g; ( pattern.test(text)) {
alert(RegExp.$1) //sh
alert(RegExp.$2); //t
}
;