String.prototype.search() は、指定された正規表現と一致する最初の部分文字列のインデックスを返すメソッドです。このメソッドは、文字列内でパターンが最初に現れる位置を特定するために使用されます[1]

構文

編集
str.search(regexp)
  • regexp: 検索する正規表現。文字列が指定された場合は、自動的に new RegExp(regexp) に変換されます。

文字列内のパターンを検索するプログラム

編集

以下のプログラムは、String.prototype.search() を使用して文字列内の特定のパターンを検索します。

const str = "Hello world!";
const index = str.search(/world/);
console.log(index); // 6

このプログラムでは、String.prototype.search() を使用して str 文字列内の "world" という単語を検索しています。"world" は文字列の 6 番目のインデックスから始まるため、結果として 6 が返されます。

パターンが見つからない場合のプログラム

編集

以下のプログラムは、String.prototype.search() を使用して存在しないパターンを検索します。

const str = "Hello world!";
const index = str.search(/javascript/);
console.log(index); // -1

このプログラムでは、String.prototype.search() を使用して str 文字列内の "javascript" という単語を検索しています。"javascript" は文字列内に存在しないため、結果として -1 が返されます。

大文字小文字を区別しない検索のプログラム

編集

以下のプログラムは、String.prototype.search() を使用して大文字小文字を区別せずに検索を行います。

const str = "Hello world!";
const index = str.search(/WORLD/i);
console.log(index); // 6

このプログラムでは、String.prototype.search() を使用して str 文字列内の "WORLD" という単語を大文字小文字を区別せずに検索しています。正規表現の i フラグを使用することで、大文字小文字を区別せずに検索が行われます。

注意点

編集
  • 一致が見つからない場合: パターンが見つからない場合は -1 が返されます。
  • 最初の一致のみ: このメソッドは、最初に見つかった一致のインデックスのみを返します。すべての一致を見つけるには、String.prototype.match() または RegExp.prototype.exec() を使用する必要があります。
  • 文字列引数: regexp が文字列の場合、自動的に new RegExp(regexp) に変換されます。正規表現としての特殊文字をエスケープする必要があることに注意してください。

脚註

編集
  1. ^ これは、正規表現パターンに一致する最初の部分文字列の位置を検索するために使用されます。

外部リンク

編集