gオプション・iオプションについて
今回は正規表現で使えるオプションであるgオプションとiオプションについて解説していきたいと思います。
gオプション
gオプションは置き換えたい文字列を指定した時にその文字が複数含まれている場合に、その全てを置き換えるオプションです。
まずはgオプションを使わない場合を見てみます。
var name = "私はゆーいちです、ゆーいちはエンジニアです";
name.replace(/ゆーいち/, "ゆー太郎");
=> "私はゆー太郎です、ゆーいちはエンジニアです"
このように二つ目の「ゆーいち」という文字列は置き換えら得ません。
通常、replaceメソッドを使って文字列を置き換える場合その文字列が複数あっても置き換えられるのは最初の1つだけになります。
それを解消してくれるのがgオプションです。
var name = "私はゆーいちです、ゆーいちはエンジニアです";
name.replace(/ゆーいち/g, "ゆー太郎");
=> "私はゆー太郎です、ゆー太郎はエンジニアです"
これで全て置き換える事ができました。
gオプションを定義するときは、replaceメソッドの第一引数である//の後に書きます。
iオプション
次にiオプションです。
iオプションはmatchメソッドなどを使って文字列を検索するとき大文字と小文字を区別しないというオプションです。
まずはiオプションを使わない場合をみてみます。
var name = "私はYuichiです";
name.match(/yuichi/);
=>null
このように「Yuichi」という文字列の最初の文字が大文字のため「yuichi」で検索してもマッチしません。
これを解消してくれるのがiオプションです。
var name = "私はYuichiです";
name.match(/yuichi/i);
=>["Yuichi"]
これで「Yuichi」という文字列を抽出する事ができました。
iオプションを定義する場合もmatchメソッドの引数である//の後に記述します。
最後に
今回紹介した、gオプションは電話番号のハイフンを取りたいときや、空白を無くしたいときなどに使えるのではないでしょうか。
最後まで読んでいただきありがとうございました。