search とは
- ここで説明する search とは次の語句からなる Javascript のメソッドです。
- search
- 読み: サーチ
意味: 検索、探す、探索
search メソッドの概要
このメソッドは、検索される文字列の中から、 正規表現パターンに一致する部分がインデックスとして何番目からスタートしているかを数値として返します。
パターンに該当するものがなければ、-1を返します。
引数に与える正規表現パターンは、正規表現オブジェクト、正規表現パターン、文字列パターンの何れかとなります。 文字列パターンを与えた場合には、暗黙的に新しい正規表現オブジェクトを生成します。
類似メソッド: indexOf()
構文
サンプルを見る前に構文を確認しておきます。
var searchIndex = str.search(##RegExp);
var searchIndex = str.search(/Pattern/flag);
var searchIndex = str.search("Pattern");
サンプルコードと実行結果
ここでは、"ABCDEFGHIJKLMNOPatternQRSTUVWXYZ"という文字列から"Pattern"という文字に該当する部分が インデックスとして何番目からスタートしているかを求めます。
サンプルコード: HTML
<body>
<div id="idInd">01234567890123456789012345678901</div>
<div id="idStr">ABCDEFGHIJKLMNOPatternQRSTUVWXYZ</div>
<p>
search(/Pattern/g) の結果:
<script>...</script>
</p>
</body>
- 03: 検索対象 (id="idStr")
- 06: script (スクリプトを実行して結果を出力します。)
サンプルコード: script
<script>
let elmStr = document.getElementById("idStr");
let objRegExp = new RegExp(/Pattern/flag=g);
document.write(elmStr.innerText.search(objRegExp));
</script>
- 03: objRegExp (RegExpオブジェクトを生成しています。)
- 04: document.write (文書ストリームに結果を書き出しています。)
01234567890123456789012345678901
ABCDEFGHIJKLMNOPatternQRSTUVWXYZ
search(/Pattern/g) の結果: