LoginSignup
0
0

More than 5 years have passed since last update.

正規表現とは。。。

Last updated at Posted at 2019-01-29

【正規表現】
・文字列の一部分を置換する
・文字列が制約を満たしているか調べる
・文字列の一部分を抽出する

◎JavaScriptにおける正規表現利用のメソッド
・replacs()メソッド

→任意の文字列を別の文字列に置き換える(置換)ことができるメソッド

・match()メソッド

→引数に指定した文字列がレシーバの文字列に含まれているか否かをチェックするためのメソッド

◎使い方
replaceメソッド(電話番号からハイフンを
取り除く)

var tel = '090-1234-5678';
undefined
 tel.replace(/-/g, "");
"09012345678"

解説
【グローバルマッチ】
/ の後に g と書かれているところに注目!
文字列内で指定した文字が含まれている場合、その全てを置換えするするというオプションです。
gをつけない場合は、初めの一つだけ置換えられます。

match()メソッド(パスワードに英数字8文字以上という制約を設定)

> var pass = 'Hoge1234';
=>  undefined
> pass.match(/[a-z\d]{8,}/i);
=> ["Hoge1234"]

解説
[a-z]: 角括弧で囲まれた文字のいずれか 1 個にマッチする
⇒-(ハイフン)を使用することで範囲を設定することができます

\d: 数字にマッチする
⇒、\dは角括弧の内部にあるので、[a-z\d]は「英数字のいずれか1つにマッチ」という意味です。

{n, m}: 直前の文字が少なくとも n 回、多くても m 回出現するものにマッチする
⇒{8, }は、直前の文字が少なくとも8回出現するもにマッチという意味です。

i: 大文字・小文字を区別しない検索

◎正規表現のパターン記述

[a-z] 角括弧で囲まれた文字のいずれか 1 個にマッチ
/d 数字にマッチ
{n, m} 直前の文字が少なくとも n 回、多くても m 回出現するものにマッチ
. どの一文字にもマッチ
+            直前の文字の 1 回以上の繰り返しにマッチ


オプションフラグ
g            グローバルマッチと呼び、文字列内で指定した文字が複数含まれている場合、その全てを置換
i 大文字・小文字を区別せずに検索


例:
"good friend".match(/good/)
⇒["good"]

'Cat'.match(/cat/);
=> null 
'Cat'.match(/cat/);
=> null
*大文字小文字の区別なし

var mail = 'aaaa@gmail.com';
=> undefined
mail.match(/@.+/);
=> ["@gmail.com"]

0
0
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
0
0