JavaScript - 正規表現による文字列の置換

公開日:2018-12-14 更新日:2019-05-11

1. 概要

正規表現で文字列を置換します。

文字列.replace(/パターン/      , 置換文字列)
文字列.replace(/パターン/フラグ, 置換文字列)

2. サンプル - 文字列の検索

「DEF」と一致する文字列を検索します。

var result = "abc 0 ABC 1 def 2 DEF 3 xyz 9 XYZ".replace(/[a-z]/ig, "x");
console.log( result ); //xxx 0 xxx 1 xxx 2 xxx 3 xxx 9 xxx

正規表現リテラルで指定しない場合( / で囲わない場合)は、通常の文字列として扱われるため、正規表現が有効になりません。
var result = "abc 0 ABC 1 def 2 DEF 3 xyz 9 XYZ".replace("[a-z]/ig", "x");
console.log( result ); //abc 0 ABC 1 def 2 DEF 3 xyz 9 XYZ

動的にパターンを指定する場合には、RegExp() を使います。
var result = "abc 0 ABC 1 def 2 DEF 3 xyz 9 XYZ".replace(RegExp("[a-z]", "ig"), "x");
console.log( result ); //xxx 0 xxx 1 xxx 2 xxx 3 xxx 9 xxx