【JavaScript】文字列を正規表現で検索・置換する方法!

JavaScript

1. 文字列から正規表現を作成する

正規表現は、文字列リテラルとして表されることもありますし、RegExp オブジェクトを作成して表すこともできます。

var pattern = /a/;文字列リテラルの場合は、以下のように書きます。

let pattern = /a/;

RegExp オブジェクトを作成する場合は、以下のように書きます。

let pattern = new RegExp("a");

2. 正規表現を使って文字列を検索する

文字列の中に正規表現にマッチする部分があるかどうかを検索するには、以下の 2 つの方法があります。

test メソッド

test メソッドは、正規表現と文字列がマッチするかどうかを判定するメソッドです。マッチする場合は true、マッチしない場合は false を返します。

let pattern = /a/;
let str = "abc";
console.log(pattern.test(str)); // true

match メソッド

match メソッドは、正規表現と文字列がマッチする部分を検索するメソッドです。マッチする部分が見つからない場合は null、見つかった場合はマッチした文字列の配列を返します。

var pattern = /a/;
var str = "abc";
console.log(str.match(pattern)); // ["a"]

3. 正規表現を使って文字列を置換する

文字列の中の正規表現にマッチする部分を置換するには、replace メソッドを使います。replace メソッドは、文字列の中の正規表現にマッチする部分を置き換えます。

replace メソッドには、置換する文字列を指定することができます。また、置換する文字列を動的に生成するためのコールバック関数を指定することもできます。

以下は、文字列の中の “a” を “x” に置換する例です。

let pattern = /a/g;
let str = "abc";
console.log(str.replace(pattern, "x")); // "xbc"

上記の例では、g 修飾子を使用しています。g 修飾子を使用することで、文字列中のすべてのマッチする部分を置換することができます。

次に、置換する文字列を動的に生成するためのコールバック関数を使用する例を示します。

let pattern = /a/g;
let str = "abc";
console.log(str.replace(pattern, function(match) {
  return match.toUpperCase();
})); // "Abc"

このように、JavaScript では、文字列を正規表現で検索・置換することができます。正規表現は強力な表現力を持つため、文字列処理に利用することができます。

タイトルとURLをコピーしました