JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのRegExp sourceプロパティとは?役割と使い方をわかりやすく解説

JavaScriptにおける source プロパティは、RegExp(正規表現)オブジェクトが持つ読み取り専用の文字列プロパティです。このプロパティには、正規表現オブジェクトに設定されたパターンのテキストそのものが格納されています。

sourceプロパティの特徴

source プロパティの返す文字列には、以下の要素は含まれない点に注意が必要です。

  • 正規表現リテラルを囲むスラッシュ(/)などの区切り文字
  • g(グローバル検索)、i(大文字・小文字を無視)、m(複数行モード)といったフラグ(属性)

つまり、パターン本体だけが純粋な文字列として取得できるため、デバッグ時のパターン確認や、動的に新しい正規表現を組み立てる際などに便利です。

サンプルコード

以下のコードを実行すると、source プロパティの実際の動作を確認できます。

<html>
   <head>
      <title>JavaScript RegExp source Property</title>
   </head>

   <body>
      <script>
         var str = "JavaScript is an interesting scripting language";
         var re = new RegExp( "script", "g" );
         re.test(str);
         
         document.write("正規表現のパターン : " + re.source);
      </script>
   </body>
</html>

実行結果

正規表現のパターン : script

この例では、new RegExp("script", "g") で生成した正規表現オブジェクトに対して re.source を参照しています。コンストラクタの第2引数に指定した g フラグは結果に含まれず、パターン部分である「script」のみが出力されることがわかります。

まとめ

source プロパティを使えば、正規表現オブジェクトから元のパターン文字列を簡単に取り出せます。読み取り専用であるため値の変更はできませんが、パターンのログ出力や再利用など、実用的な場面で活用できる基本的なプロパティです。

  1. 【JavaScript】キーボードイベントのaltKeyプロパティとは?役割と使い方を解説

    altKeyプロパティとはJavaScriptのaltKeyプロパティは、キーボードイベントが発生した瞬間にAltキー(MacではOptionキー)が押されていたかどうかを判定するためのプロパティです。このプロパティは真偽値(Boolean)を返します。true … イベント発生時にAltキーが押されていたfalse … Altキーは押されていなかった関連する修飾キーのプロパティaltKeyと同じ仕組みで、他の修飾キーの状態も取得できます。組み合わせて使うことで、より柔軟なキーボード操作の判定が可能になります。ctrlKey … Ctrlキーの状態shiftKey … Shiftキーの状態me

  2. JavaScriptのsourceプロパティとは?正規表現パターンテキストを取得する方法を解説

    JavaScriptのsourceプロパティは、RegExp(正規表現)オブジェクトに設定されたパターン文字列そのものを返すプロパティです。g(グローバルマッチ)やi(大文字・小文字を区別しない)などのフラグは結果に含まれず、マッチング対象となる純粋な正規表現テキストのみを取得できます。 動的に正規表現を組み立てたい場合や、デバッグ時に実際に適用されているパターンを確認したい場合などに活用できる便利なプロパティです。 基本構文 const regex = /pattern/flags; console.log(regex.source); // パターン文字列のみが返される サンプルコード