解 説

正規表現でreplaceする

replace関数を使って正規表現の使い方を覚えるために簡単なスクリプトを書きました。

replace(検索文字列 , 置換文字列 )を使用して文字を置換します。
プルダウンメニューで選んだ内容が第1引数の検索文字列に入り、第2引数の置換文字列には「Opera」が設定されています。
プルダウンメニューから希望する正規表現を選択すると正規表現で指定した特定の文字が「Opera」に変わります。
さらに、ラジオボタンで「i」「g」のフラッグをつけることができます。「i」は大文字小文字を区別せずにマッチし、「g」は最初の1個だけでなく、文字列の最後まで検索を繰り返します。

正規表現練習

*希望の正規表現を選択してください:

Option :

次の内容の一部を正規表現に従って「Opera」と変更して下に表示します。

Mozartのフィガロの結婚

ここに結果を表示

主な正規表現の使い方一覧

任意の文字にreplace

例:”abcdefg”.replace(/a/,”A”)
結果:Abcdefg
例:”abcdefg”.replace(/cde/,”A”)
結果:abAfg
例:”abcdefg”.replace(/xyz/,”A”)
結果:abcdefg

改行文字以外の任意の1文字にマッチ

例:”abcdefg”.replace(/.f/,”A”)
結果:abcdAg

指定文字のいずれかにマッチ

例:”abcdefg”.replace(/[ahg]/,”A”)
結果:Abcdefg

指定文字以外のいずれかにマッチ

例:”abcdefg”.replace(/[^ahg]/,”A”)
結果:aAcdefg

複数の文字列のいずれかにマッチ

例:”abcdefg”.replace(/cd|d|z/,”A”)
結果:abAefg

0個以上の出現回数でマッチ

例:”abcdefg”.replace(/cd*/,”A”)
結果:abAefg

1個以上の出現回数でマッチ

例:”abcdefg”.replace(/f+/,”A”)
結果:abcdeAg

直前の文字がまったくないか、1つだけあるとマッチ

例:”abcdefg”.replace(/bcd?/,”A”)
結果:aAefg

指定個数マッチ

例:”abcdefgcc”.replace(/c{2}/,”A”)
結果:abcdefgA

先頭にマッチ

例:”abcdefg”.replace(/^ab/,”A”)
結果:Acdefg

末尾にマッチ

例:”abcdefg”.replace(/fg$/,”A”)
結果:abcdeA

空白で区切られた単語にマッチ

例:”javascript java script”.replace(/java\b/,”A”)
結果:javascript A script

空白で区切られていない単語にマッチ

例:”javascript java script”.replace(/java\B/,”A”)
結果:Ascript java script

大文字小文字の区別をせずマッチ

例:”abcdefgABCDEFG”.replace(/AB/i,”A”)
結果:AcdefgABCDEFG

該当する全ての文字にマッチ

例:”ABcdefgABCDEFG”.replace(/AB/g,”Z”)
結果:ZcdefgZCDEFG