JavaScriptのRegExp globalプロパティとは?役割と使い方をサンプルコードで解説
globalプロパティは、RegExpオブジェクトが持つ読み取り専用の真偽値(boolean)プロパティです。このプロパティは、その正規表現がグローバルマッチング(文字列全体にわたる繰り返し検索)を行うかどうか、すなわち正規表現が g フラグ付きで作成されているかどうかを示します。
globalプロパティの基本的な挙動
- true:正規表現が
gフラグ付きで作成されている場合 - false:
gフラグなしで作成されている場合
グローバルマッチングが有効になっている場合、match() や replace() などのメソッドは、最初に見つかった一箇所だけでなく、文字列内のすべての該当箇所を処理対象とします。パターンに一致する文字列をすべて置換・抽出したい場合には、g フラグの指定が重要になります。
サンプルコード
以下のコードを実行すると、global プロパティの動作を実際に確認できます。
<html>
<head>
<title>JavaScript RegExp global Property</title>
</head>
<body>
<script>
// gフラグなしで正規表現を作成
var re = new RegExp( "string" );
if ( re.global ){
document.write("テスト1 - globalプロパティは設定されています");
} else {
document.write("テスト1 - globalプロパティは設定されていません");
}
// gフラグ付きで正規表現を作成
re = new RegExp( "string", "g" );
if ( re.global ){
document.write("<br />テスト2 - globalプロパティは設定されています");
} else {
document.write("<br />テスト2 - globalプロパティは設定されていません");
}
</script>
</body>
</html>
実行結果
このコードを実行すると、ブラウザ上に次のように表示されます。
テスト1 - globalプロパティは設定されていません テスト2 - globalプロパティは設定されています
最初の正規表現は g フラグなしで作成しているため global プロパティは false となり、2つ目は g フラグ付きで作成しているため true になることが確認できます。このように、global プロパティを参照することで、正規表現オブジェクトがどのようなフラグ設定で生成されたのかをプログラムから判別できます。
-
JavaScriptのparseFloat()メソッドとは?役割と使い方をわかりやすく解説
JavaScriptのparseFloat()メソッドは、文字列を解析(パース)して浮動小数点数を返すためのグローバル関数です。文字列の先頭から数値として読み取れる部分を変換し、数値として解釈できない文字に到達した時点で解析を終了します。 parseFloat()メソッドの主な特徴 文字列の先頭から数値の解析を開始する 先頭にある空白(ホワイトスペース)は無視される 数値として解釈できる部分のみが変換される 解析できない場合は NaN(Not a Number)を返す 使用例 以下のコードを実行して、JavaScriptにおけるparseFloat()メソッドの実際の動作を確認してみま
-
【JavaScript】キーボードイベントのaltKeyプロパティとは?役割と使い方を解説
altKeyプロパティとはJavaScriptのaltKeyプロパティは、キーボードイベントが発生した瞬間にAltキー(MacではOptionキー)が押されていたかどうかを判定するためのプロパティです。このプロパティは真偽値(Boolean)を返します。true … イベント発生時にAltキーが押されていたfalse … Altキーは押されていなかった関連する修飾キーのプロパティaltKeyと同じ仕組みで、他の修飾キーの状態も取得できます。組み合わせて使うことで、より柔軟なキーボード操作の判定が可能になります。ctrlKey … Ctrlキーの状態shiftKey … Shiftキーの状態me