説明
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"
他にも、
※^・・直後の文字が行の 先頭 にある場合にマッチ
※$・・直前の文字が行の 末尾 にある場合にマッチ
などいろいろあります。
以上です。
コメント