JavaScriptの正規表現(RegExp)で角括弧内の数字を検索する方法
JavaScriptの正規表現(RegExp)では、文字クラスと呼ばれる角括弧 [ ] を使うことで、特定の範囲の文字を簡単に検索できます。
0〜9の数字にマッチさせる基本パターン
0から9までの任意の10進数の数字にマッチさせたい場合は、以下のパターンを使用します。
[0-9]
このパターンは、ハイフン(-)で範囲を指定することで、その間に含まれるすべての文字に一致します。たとえば [4-6] と書けば、4、5、6 のいずれかにマッチします。
サンプルコード
以下のコードを実行すると、JavaScript RegExpで角括弧内の数字を検索する方法を確認できます。この例では、文字列「987654」の中から4〜6の範囲に該当する数字をすべて抽出しています。
<html> <head> <title>JavaScript Regular Expression</title> </head> <body> <script> var myStr = "987654"; var reg = /[4-6]/g; var match = myStr.match(reg); document.write(match); </script> </body> </html>
コードの解説
var reg = /[4-6]/g;… 「4」「5」「6」のいずれかにマッチする正規表現を作成します。末尾のgフラグ(グローバルフラグ)を付けることで、文字列内のすべての該当箇所を検索できます。myStr.match(reg)… 文字列に対してmatch()メソッドを呼び出し、マッチした結果を配列として取得します。
実行結果
5,4,6
このように、文字列「987654」の中で4〜6の範囲に含まれる「5」「4」「6」が順に抽出されます。
補足:\d を使った簡略表記
0〜9のすべての数字にマッチさせたい場合は、[0-9] の代わりにメタ文字 \d を使うこともできます。どちらも同じ意味ですが、\d の方が記述が短くシンプルです。
var reg = /\d/g;
用途に応じて使い分けると、より読みやすいコードになります。
-
JavaScriptの正規表現(RegExp)で角括弧内の複数の値を括弧なしで取得する方法
JavaScriptの正規表現で角括弧内の値を取得する方法 JavaScriptの正規表現(RegExp)を使えば、文字列中の角括弧「[ ]」で囲まれた値を、括弧を除いた状態でそのまま取り出すことができます。マッチ結果は配列として返されるため、インデックス0、1…Nを指定して各値にアクセスするのがポイントです。 ここでは、後読みアサーション(lookbehind)(?<=\[)と先読みアサーション(lookahead)(?=\])を組み合わせたパターンを使用します。これにより、「開き括弧の直後から閉じ括弧の直前まで」の部分だけがマッチ対象になります。 コード例 var regularEx
-
JavaScriptで配列内の要素間の距離(差分)を求める方法
はじめにJavaScriptでは、ソート済みの数値配列から各要素同士の差分を求め、それをサブ配列としてまとめたいケースがあります。本記事では、昇順に並んだ数値配列を入力として受け取り、各要素とそれ以降の要素との差分からなるサブ配列を生成する関数の実装方法を解説します。問題の定義まず、次のような昇順にソートされた数値配列を例に考えてみましょう。const arr = [2, 5, 7, 8, 9];この配列に対して、各要素について「その要素と、それ以降の各要素との差」を計算し、結果をサブ配列として格納していきます。最初の要素「2」の場合先頭の要素 2 と、それ以降の要素との差は以下のようになりま