new RegExp( pattern, flags )

new RegExp( pattern, flags )は、RegExpオブジェクト(正規表現オブジェクト)のコンストラクタ。

引数「pattern」に指定した正規表現パターンを扱うRegExpオブジェクトを作るときに使う。

第二引数「flags」で、正規表現パターンの適用方法を指定できる。

構文

new RegExp( 'pattern', 'flags' )

引数

pattern
RegExpオブジェクトで扱う正規表現パターンを指定する。
flags
正規表現パターンの適用方法を指定する。
下記のフラグを指定できる。複数のフラグを組み合わせて使うこともできる。
  • g: グローバルマッチ。反復的に適用し、全てのマッチを調べる。
  • i: 大文字と小文字を区別しない。
  • m: 複数行に適用。

RegExpオブジェクト生成例

グローバルマッチ

var $regExpObject = new RegExp( '正規表現パターン', 'g' );

下記のように、正規表現リテラルで書いても同じこと。

var $regExpObject = /正規表現パターン/g;

サンプル

グローバルマッチ

<script type="text/javascript">
var $stringObject = new String( 'ABCDEF ABCDEF' );
var $regExpObject = new RegExp( '[BDFHJ]', 'g' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
var $regExpObject = new RegExp( '[E-G]', 'g' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
</script>

↓↓↓出力結果↓↓↓

大文字と小文字

<script type="text/javascript">
var $stringObject = new String( 'ABCDEF ABCDEF' );
var $regExpObject = new RegExp( '[BdFhJ]', 'g' );
document.write( '大文字と小文字を区別: ' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
document.write( '大文字と小文字を区別しない: ' );
var $regExpObject = new RegExp( '[BdFhJ]', 'gi' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
</script>

↓↓↓出力結果↓↓↓

複数行に適用

<script type="text/javascript">
var $stringObject = new String( 'ABCDEF\nABCDEF\nABCDEF\n' );
var $regExpObject = new RegExp( '^.*$', 'g' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
var $regExpObject = new RegExp( '^.*$', 'm' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
var $regExpObject = new RegExp( '^.*$', 'gm' );
document.write( $stringObject.match( $regExpObject ) + '<br />' );
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

カテゴリー: JavaScript, RegExpオブジェクト, コンストラクタ, リファレンス, 組み込みオブジェクト パーマリンク