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

JavaScriptで正規表現(RegExp)に一致する文字列を取得するには?match()メソッドの使い方

JavaScriptのmatch()メソッドとは

文字列が正規表現に一致するかどうかを調べるには、JavaScriptのmatch()メソッドを使用します。このメソッドは、文字列と正規表現を照合し、一致した部分を取得するために使われます。

パラメータ

  • param − 照合に使用する正規表現オブジェクト。

戻り値の違い:gフラグの有無

正規表現にgフラグが含まれていない場合、このメソッドはregexp.exec(string)と同じ結果を返します。つまり、最初に一致した部分とそのキャプチャグループの情報を持つ配列が返されます。

一方、gフラグが含まれている場合は、文字列内で一致したすべての結果を含む配列が返されます。

サンプルコード

以下のコードを実行すると、JavaScriptの正規表現を使って文字列の中から式に一致する部分を取得できます。

<html>
   <head>
      <title>JavaScript String match() Method</title>
   </head>
   <body>
      <script>
         var str = "For more information, see Chapter 3.4.5.1";
         var re = /(chapter \d+(\.\d)*)/i;
         var found = str.match( re );

         document.write(found );
      </script>
   </body>
</html>

コードの解説

この例では、文字列「For more information, see Chapter 3.4.5.1」に対して、大文字・小文字を区別しないiフラグを付けたパターン「chapter \d+(\.\d)*」で照合しています。

その結果、「Chapter 3.4.5.1」に一致した部分が検出され、document.write()によって出力されます。章番号のように「数字+ドット+数字」が繰り返されるパターンの抽出に役立つ、実践的な例です。

  1. JavaScriptの正規表現を使って文字列からスペースを削除する方法

    JavaScriptで文字列内のスペースを削除したい場合は、replace()メソッドと正規表現を組み合わせるのが最も一般的な方法です。正規表現 /\s/g を使うことで、文字列中のすべての空白文字(半角スペース、タブ、改行など)を簡単に取り除くことができます。 基本的な使い方 \s は空白文字全般にマッチする特殊文字で、末尾の g(グローバルフラグ)を付けることで、最初に見つかった1箇所だけでなく、文字列全体のすべてのスペースが置換対象になります。 サンプルコード <html>    <head>    &n

  2. JavaScriptで正規表現をテスト・実行する方法|test()とexec()の使い方

    JavaScriptでは、RegExpオブジェクトを使って正規表現を扱います。パターンが文字列にマッチするかどうかを確認するには test() メソッドを、実際にマッチした結果を取得するには exec() メソッドを使用します。この記事では、両者の違いと具体的な使い方をサンプルコード付きで解説します。 test()メソッドとexec()メソッドの違い test()メソッド: 正規表現パターンが文字列にマッチすれば true、マッチしなければ false を返すシンプルな真偽判定用メソッドです。 exec()メソッド: マッチした場合、マッチした部分文字列などを含む結果の配列を返します。マッチ