76
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[JavaScript]正規表現(gオプション,iオプション)

Posted at

gオプション・iオプションについて

今回は正規表現で使えるオプションであるgオプションとiオプションについて解説していきたいと思います。

gオプション

gオプションは置き換えたい文字列を指定した時にその文字が複数含まれている場合に、その全てを置き換えるオプションです。
まずはgオプションを使わない場合を見てみます。

正規表現.js
var name = "私はゆーいちです、ゆーいちはエンジニアです"
    name.replace(/ゆーいち/, "ゆー太郎");
   => "私はゆー太郎です、ゆーいちはエンジニアです"

このように二つ目の「ゆーいち」という文字列は置き換えら得ません。
通常、replaceメソッドを使って文字列を置き換える場合その文字列が複数あっても置き換えられるのは最初の1つだけになります。
それを解消してくれるのがgオプションです。

正規表現.js
var name = "私はゆーいちです、ゆーいちはエンジニアです"
    name.replace(/ゆーいち/g, "ゆー太郎");
   => "私はゆー太郎です、ゆー太郎はエンジニアです"

これで全て置き換える事ができました。
gオプションを定義するときは、replaceメソッドの第一引数である//の後に書きます。

iオプション

次にiオプションです。
iオプションはmatchメソッドなどを使って文字列を検索するとき大文字と小文字を区別しないというオプションです。
まずはiオプションを使わない場合をみてみます。

正規表現.js
var name = "私はYuichiです"
    name.match(/yuichi/);
   =>null

このように「Yuichi」という文字列の最初の文字が大文字のため「yuichi」で検索してもマッチしません。
これを解消してくれるのがiオプションです。

正規表現.js
var name = "私はYuichiです"
    name.match(/yuichi/i);
   =>["Yuichi"]

これで「Yuichi」という文字列を抽出する事ができました。
iオプションを定義する場合もmatchメソッドの引数である//の後に記述します。

最後に

今回紹介した、gオプションは電話番号のハイフンを取りたいときや、空白を無くしたいときなどに使えるのではないでしょうか。

最後まで読んでいただきありがとうございました。

76
53
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
76
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?