JavaScriptの正規表現で角かっこ内の範囲に含まれない数字を検索する方法
JavaScriptの正規表現では、角かっこ [ ] の先頭にキャレット ^ を付けることで「否定」を表現できます。これにより、かっこ内で指定した範囲に含まれない文字だけを検索することが可能です。
使用するパターン
たとえば、次のパターンは「0〜9以外の任意の1文字」にマッチします。
[^0-9]
同じ要領で [^4-6] と記述すれば、「4・5・6のいずれにも該当しない文字」にマッチします。このように、^ を使った否定文字クラスは、特定の範囲を除外してマッチングを行いたい場合に非常に便利です。
サンプルコード
以下のコードでは、文字列 "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>
実行結果
このコードを実行すると、match() メソッドによって、4〜6 の範囲外の数字だけが配列として返されます。
9,8,7
このように、否定文字クラス [^ ] を活用すれば、除外したい文字や範囲を簡単に指定でき、柔軟な文字列検索が実現できます。
-
JavaScriptの正規表現(RegExp)とは?基本の使い方を実例付きで解説
正規表現(Regular Expression)とは、検索パターンを表す文字列のことです。あらかじめ定義したパターンをもとに、テキストの中から特定の文字列や条件に一致する部分を効率的に検索したり、置換したりすることができます。 JavaScriptでは、スラッシュ「/」で囲んでパターンを記述する方法と、RegExpオブジェクトを使う方法の2通りで正規表現を作成できます。また、パターンには「g(グローバル検索:すべての一致を対象)」「i(大文字・小文字を区別しない)」「m(複数行モード)」などのフラグを組み合わせることで、より柔軟な検索が可能です。 ここでは、replace() メソッドと正規
-
Day.jsを使って2つの時刻の差を求める方法【JavaScript】
日付や時刻を扱う際、軽量で使いやすいJavaScriptライブラリ「Day.js」が便利です。この記事では、Day.jsを使って2つの時刻の差(時間数)を計算する方法を解説します。 時刻データの準備 まず、比較対象となる開始時刻と終了時刻をdayjs()で作成します。ここでは例として、開始時刻を10時、終了時刻を22時に設定します。 var startHour = dayjs().hour(10) var endHour = dayjs().hour(22) diff()メソッドで時刻の差を取得する 2つの時刻の差を求めるには、diff()メソッドを使用します。第1引数に比較対象のDay.js