Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

String.prototype.search()

BaselineWidely available

search()String 値のメソッドで、正規表現とこの文字列の一致する箇所を検索し、文字列内の最初に一致する箇所の位置を返します。

試してみましょう

const paragraph = "I think Ruth's dog is cuter than your dog!";// Anything not a word character, whitespace or apostropheconst regex = /[^\w\s']/g;console.log(paragraph.search(regex));// Expected output: 41console.log(paragraph[paragraph.search(regex)]);// Expected output: "!"

構文

js
search(regexp)

引数

regexp

正規表現オブジェクト、またはSymbol.search メソッドを持つ任意のオブジェクトです。

regexpRegExp オブジェクトでなく、Symbol.search メソッドもなかった場合は、RegExp オブジェクトにnew RegExp(regexp) を使用して暗黙的に変換されます。

返値

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

解説

String.prototype.search() 自体の実装はとてもシンプルです。引数の文字列を最初の引数としてSymbol.search メソッドを呼び出すだけです。実際の実装はRegExp.prototype[Symbol.search]() から来ています。

regexpg フラグはsearch() の結果には影響がなく、検索は常に正規表現のlastIndex が 0 であるかのように行われます。search() の動作についての詳しい情報は、RegExp.prototype[Symbol.search]() を参照してください。

パターンが見つかるかどうかを知りたい場合、かつ、文字列内のインデックスを知りたい場合は、search() を使用してください。

search() の使用

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

js
const str = "hey JudE";const re = /[A-Z]/;const reDot = /[.]/;console.log(str.search(re)); // 最初の大文字 "J" のインデックスである 4 を返しますconsole.log(str.search(reDot)); // ドット記号 '.' が見つからないので -1 を返します

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.search

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp