技術空間

Javascript

Javascriptで正規表現を扱う方法


TOP > Javascript > Javascriptで正規表現を扱う方法



■Javascriptで正規表現を扱う方法

Javascriptで正規表現を扱う方法は正規表現リテラルRegExpの2つある。


正規表現リテラルを使う方法

下記のようにmatch関数を使う。正規表現はクォーテーションで括らず、「/~/」ではさんで、そのまま記述する(正規表現リテラル)。

サンプル
var str = '123Abc';
var ret = str.match(/[A-Z]/i);

match関数の戻り値はtrue/falseではない。 マッチした場合、マッチした最初の文字列が返却され、マッチしない場合、nullが返却される。例えば上記のサンプルの場合、戻り値は"A"となる("123Abc"全てが戻されるわけではない)。

またオプションとして以下の指定が可能。複数組み合わせて使用することもできる。

オプション意味
i大文字と小文字を区別しない。
g複数回マッチさせる
m複数行に対して検索させる(^と$が改行する毎に効いてくれる)


RegExpを使う方法

これもmatch関数を使うが、matchの引数にはRegExpオブジェクトを渡す。正規表現はRegExpに渡す。正規表現リテラルではないため、正規表現はクォーテーションで括る。

サンプル
var str = '123Abc';
var reg = new RegExp('[A-Z]', 'i');
var ret = str.match(reg);

RegExpの第二引数にはオプションを指定する。指定できる値は正規表現リテラルの場合と同様(i, g, m)。

また、戻り値も正規表現リテラルの場合と同様。


正規表現リテラルとRegExpの違い



TOP > Javascript > Javascriptで正規表現を扱う方法

Tweet ̃Gg[͂ĂȃubN}[Nɒlj
技術空間