JavaScript

String.prototype.search()メソッド

 編集:2022.08.16 by T.A.

その String とregexp(正規表現)との一致した位置を返します。

構文
number= String.search(regexp)
String String。
regexp regular expression()オブジェクトです。

正規表現でないオブジェクト regexp が渡された場合は RegExp オブジェクトに new RegExp(regexp) を使用して暗黙的に変換されます。

戻り値

Number。与えられた文字列と正規表現の間で最初にマッチした箇所のインデックスを返します。マッチしなかった場合は -1 を返します。

解説

あるパターンが見つかるかどうかを知りたい場合や、文字列の中の位置を知りたい場合は、search() メソッドを利用してください。(存在するかどうかを知りたいだけの場合は、RegExp に同様のメソッドである test() メソッドがあり、これは論理値を返します。

より多くの情報が欲しい場合は(実行速度が遅くなりますが)match() メソッドを使用してください(同様のメソッドとして、exec() メソッドがあります)。

search() の使用

次の例は、2つの異なる正規表現オブジェクトで文字列を検索し、成功した検索(正の値)と失敗した検索(-1)を表示します:

let str = "hey JudE";
let re = /[A-Z]/g;   //大文字の「A」~「Z」。
let reDot = /[.]/g;  //ドット記号。
D=str.search(re);    //=4。最初の大文字 "J" の位置。
D=str.search(reDot); //=-1。見つからず。

テスト