JavaScript正規表現19例(12)
2382 ワード
(…続例11)
例12:グローバルRegExpプロパティ
(続きはまだ…)
例12:グローバルRegExpプロパティ
- void function reg_12()
- {
- var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
- if (ver >= 5.5)
- {
- var s = "Live for nothing,die for something";
- var r = /\w+/g;
- while ((r.exec(s)) != null)
- alert(RegExp.index + "-" + RegExp.lastIndex + ": " + RegExp.lastMatch);
- }
- else
- {
- alert(" JScript 5.5 。");
- }
- }
行3:ブラウザのJavaScriptスクリプトエンジンを検出し、それぞれメインバージョン番号とサブバージョン番号を取得し、文字を接続してNumber()メソッドで数字に変換し、5.5以上のバージョンかどうかを判断します.行7:\w記号マッチングは、下線を含む単語の任意の文字であり、'A-Za-z 0-9_'に相当する.スイッチgを使用しているので、それぞれにマッチします.ここでは^記号を使用して文字列からマッチする必要がありません.行8:このループは正規表現が内容にマッチするとループします.スイッチgがあるので、単語は毎回後ろに移動します.行9:グローバルオブジェクトRegExpの3つの属性にアクセスすることにより、各単語の位置と内容が表示されます.index属性は文字位置を返します.文字列の最初のマッチングの開始位置です.lastIndex属性は文字の位置を返します.検索された文字列の次の成功マッチの開始位置です.これらの2つの属性は、下付き0に基づいて開始されます.明らかにlastIndex属性は単語の終端文字の索引より1大きいです.lastMatch属性は正規表現検索中の最後に一致した内容を返します.運転結果:whileループは6回、例えば1回目は0-4:ライブを表示します.(続きはまだ…)