忘れた頃にやってくる、JavaScriptでのよく使う正規表現メモ

JavaScript

説明

JavaScriptの文字の置換について以下にまとめました。

iフラグとgフラグの違い

iフラグ・・パターンで大文字と小文字を区別なし。 /a/ の場合は /A/ にもマッチ。

gフラグ・・一致するすべての文字列を置換。

const str = 'あああ かきくけこ';
const regex = /あ/i;
console.log(str.replace(regex, '1'));
// > "1ああ かきくけこ"

const regex2 = /あ/g;
console.log(str.replace(regex2, '2'));
// > "222 かきくけこ"

const regex3 = /かきくけこ/i; // 後ろの文字「かきくけこ」を置換したい場合
console.log(str.replace(regex3, 'いいい'));
// > "あああ いいい"

部分置換

部分置換をしたい場合は、()で囲って、$1や$2などを使うと抽出できます。
※\dは数値・\tはタブ・\wはアルファベットなどいろいろあります。

const str2 = 'https://www.code-mogu.com/test';
const regex4 = /https\:\/\/(.*)\/(.*)/i;
console.log(str2.replace(regex4, '$1'));
console.log(str2.replace(regex4, '$2'));
// > "www.code-mogu.com"
// > "test"

const day = '今日: 2021年8月15日、明日: 2021年8月16日';
console.log(day.replace( /(\d+)年(\d+)月(\d+)日/g , "$1/$2/$3" ));
// > "今日: 2021/8/15、明日: 2021/8/16"

他にも、
※^・・直後の文字が行の 先頭 にある場合にマッチ
※$・・直前の文字が行の 末尾 にある場合にマッチ
などいろいろあります。

以上です。

コメント

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