Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】RegExp::RegExp.prototype[Symbol.replace]インスタンスメソッドの使い方

RegExp.prototype[Symbol.replace]()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

RegExp.prototypeSymbol.replaceメソッドは、指定されたターゲット文字列内で、この正規表現オブジェクトに一致するパターンを検索し、その一致した部分を新しい値で置換した新しい文字列を生成する処理を実行するメソッドです。このメソッドは、JavaScriptの組み込みオブジェクトであるString.prototype.replace()メソッドが、第一引数として正規表現オブジェクトを受け取った際に、その内部で自動的に呼び出される特殊なメソッドとして機能します。開発者が直接このメソッドを呼び出す機会は稀ですが、正規表現オブジェクト自身がどのように文字列の置換処理を行うかを定義するために利用されます。具体的には、置換対象となるstring(文字列)と、置換に用いるreplaceValue(新しい文字列、または置換文字列を生成するための関数)を引数として受け取ります。そして、すべての置換処理が適用された結果の新しい文字列を返します。この[Symbol.replace]メソッドを実装することで、開発者は正規表現オブジェクトのデフォルトの置換ロジックをオーバーライドし、独自のカスタム置換ロジックを提供することが可能となります。これにより、正規表現が関与する文字列操作において、より柔軟かつ高度な制御を実現できます。

公式リファレンス: RegExp.prototype[Symbol.replace]()

構文(syntax)

1const myRegExp = /pattern/flags;
2const targetString = "original string";
3const replacementValue = "new string" || ((match, p1, p2, offset, string) => "function replacement");
4
5const result = myRegExp[Symbol.replace](targetString, replacementValue);

引数(parameters)

string, replaceValue

  • string: 置換処理を行う対象の文字列
  • replaceValue: 置換後の文字列、または置換処理を定義する関数

戻り値(return)

String

正規表現による検索と置換後の文字列全体を返します。

関連コンテンツ

関連プログラミング言語