Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
正規表現オブジェクト、または Symbol.match を持つ任意のオブジェクトです。
regexp が RegExp 以外のオブジェクトであった場合、暗黙的に RegExp への変換が new RegExp(regexp) を使用して行われます。
一切引数を与えずに match() メソッドを使った場合、空文字列 1 つを持つ Array、[""] が得られます。これは match(/(?:)/) と同じになるからです。
Array を返します。これはグローバル (g) フラグの有無によって内容が変わります。一致するものが見つからなかった場合は null を返します。
String.prototype.match の実装は、引数に対応する Symbol.match メソッドを、最初の引数として文字列を指定して呼び出すだけというもので、それ以外にも特に何も行いません。実際の実装は RegExp.prototype[Symbol.match]() から来ています。
正規表現が渡されたときの match() の意味についての詳しい情報は、RegExp.prototype[Symbol.match]() を参照してください。
以下の例において、 match() は "Chapter" とそれに続く 1 桁以上の数字、それに続く 0 回以上の小数点と数字を見つけるために使われています。
正規表現が i フラグを含んでいるので、大文字と小文字の違いは無視されます。
上の照合結果では、'see Chapter 3.4.5.1' が一致する文字列全体です。 'Chapter 3.4.5.1' は (chapter \d+(\.\d)*) によって捕捉されました。 '.1' は (\.\d) によって捕捉された最後の値です。 index プロパティ (22) は一致する文字列全体の 0 基点のインデックスです。 input プロパティは解釈できた元の文字列です。
以下の例は、 g と i フラグを match() で使用した実例です。 A から E までと、 a から e までのすべての文字が返され、それぞれが配列の個々の要素に入ります。
メモ: String.prototype.matchAll() とフラグを用いた高度な検索も参照してください。
名前付きキャプチャグループに対応しているブラウザーでは、次のコードは "fox" または "cat" を animal という名前のグループに入れます。
オブジェクトに Symbol.match メソッドがある場合、カスタムマッチャーとして使用することができます。 Symbol.match の返値が match() の返値になります。
正規表現 regexp 引数が文字列または数値の場合、RegExp に new RegExp(regexp) を使用して暗黙的に変換されます。
特殊文字が適切にエスケープされていないと、予期しない結果になることがあります。
正規表現中の . はどのような文字にも一致するので、これは一致します。 ドット文字にのみ一致するようにするには、入力文字列をエスケープする必要があります。
| ECMAScript® 2027 Language Specification # sec-string.prototype.match |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。