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>
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>
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>
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>
↓↓↓出力結果↓↓↓