⊗jsSpRERP 126 of 294 menu

JavaScriptの正規表現におけるreplaceメソッドのキャプチャグループ

メソッド replace を使用する際、 正規表現で何かをキャプチャグループに入れると、 置換文字列の中でドル記号 $ と キャプチャグループ番号を書くことで、 そのキャプチャグループの内容を挿入できます。 例えば、$1 - 最初のキャプチャグループ、 $2 - 2番目のキャプチャグループといった具合です。

これがなぜ必要か、そしてどのように使用するかを、 例を見ながら学んでいきましょう。

すべての数字を見つけ、それらを同じ数字で 括弧で囲んだものに置き換えてみましょう。 そのためには、見つかったすべての数字を、 括弧で囲まれた自分自身に置き換えます:

let str = '1 23 456 xax'; let res = str.replace(/(\d+)/g, '($1)');

結果、変数には以下の文字列が格納されます:

'(1) (23) (456) xax'

x で囲まれた数字を表すすべての文字列を見つけ、 それらの数字を同じ数字で '!' 記号で 囲まれたものに置き換えてみましょう:

let str = 'x1x x23x x456x xax'; let res = str.replace(/x(\d+)x/g, '!$1!');

結果、変数には以下の文字列が格納されます:

'!1! !23! !456! xax'

次の問題を解いてみましょう: 'aaa@bbb' という形式の文字列 (文字の後ろに @ 記号、その後に文字が続く)があります。 @ の前後の文字を入れ替える必要があります。

let str = 'aaa@bbb ccc@ddd'; let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');

結果、変数には以下の文字列が格納されます:

'bbb@aaa ddd@ccc'

実践問題

次の文字列があります:

let str = '12 34 56 78';

すべての2桁の数字で、数字の順序を入れ替えてください。

日付の文字列があります:

let str = '31.12.2025';

この日付を '2025.12.31' の形式に変換してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否