search()
メソッドは、対象の String
オブジェクトが正規表現で一致するかどうかを調べるためのメソッドです。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
構文
str.search(regexp)
引数
regexp
- regular expression正規表現オブジェクトです。
- 正規表現でないオブジェクト
regexp
が渡された場合はRegExp
オブジェクトにnew RegExp(regexp)
を使用して暗黙的に変換されます。
返値
与えられた文字列と正規表現の間で最初にマッチした箇所のインデックスを返します。マッチしなかった場合は -1
を返します。
解説
あるパターンが見つかるかどうかを知りたい場合や、文字列の中の位置を知りたい場合は、 search()
メソッドを利用してください。 (存在するかどうかを知りたいだけの場合は、 RegExp
に同様のメソッドである test()
メソッドがあり、これは論理値を返します。
より多くの情報が欲しい場合は (実行速度が遅くなりますが) match()
メソッドを使用してください (同様のメソッドとして、exec()
メソッドがあります)。
例
search() の使用
次の例は、2つの異なる正規表現オブジェクトで文字列を検索し、成功した検索 (正の値) と失敗した検索 (-1
) を表示します。
let str = "hey JudE"
let re = /[A-Z]/g
let reDot = /[.]/g
console.log(str.search(re)) // 最初の大文字 "J" の位置である 4 を返します
console.log(str.search(reDot)) // '.' ドット記号が見つからないので -1 を返します
仕様書
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。