Search
  1. 検索開始位置と次に一致した位置を取得〔indexプロパティ/lastIndexプロパティ〕

検索開始位置と次に一致した位置を取得
indexプロパティ/lastIndexプロパティ

unknown

正規表現オブジェクト.index
正規表現オブジェクト.lastIndex

indexプロパティは、正規表現に一致した最初の文字列の位置を返します。
lastIndexプロパティは、正規表現に一致した最後の文字列の次の位置を返します。
lastIndexプロパティの初期値は-1(文字列の先頭0から検索開始)です。

<script type="text/javascript">
    /* 文字列を全文検索し、各単語のindex値とlastIndex値を取得 */
    var regObj=RegExp(/\w+/g);
    var arr=new Array();
    while((arr=regObj.exec("Welcome to My Homepage!"))!=null){
        document.write(arr.index+"-"+arr.lastIndex+"\t"+arr+"<br \/>");
    }
</script>

正規表現オブジェクト.lastIndex = 数値のように検索開始位置を指定した場合は、 指定した位置より前の部分で一致する文字列があっても検索対象にはなりません。

<script type="text/javascript">
    /*
    lastIndexに検索開始位置を指定
    文字列の先頭から31文字目以降に見つかった
    ...houseという文字列を取得
    */
    var regObj=RegExp(/.{3}house/g);
    regObj.lastIndex=30;
    str=regObj.exec("My dog is sleeping in the doghouse. My cat is sleeping in the cathouse");
    document.write(str);
</script>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women