JavaScriptの正規表現(RegExp)とは?基本構文と使い方をわかりやすく解説
JavaScriptの正規表現とは
正規表現(Regular Expression)とは、文字列の中から特定のパターンを記述・検索するためのオブジェクトです。JavaScriptではRegExpクラスが正規表現を表しており、StringオブジェクトとRegExpオブジェクトの両方に、強力なパターンマッチングや文字列の検索・置換を実現するメソッドが用意されています。
正規表現の定義方法
JavaScriptで正規表現を定義するには、RegExp()コンストラクタを使う方法と、リテラル記法を使う方法の2通りがあります。
var pattern = new RegExp(pattern, attributes); // またはシンプルに var pattern = /pattern/attributes;
パラメータの説明
- pattern:正規表現のパターンを指定する文字列、または別の正規表現オブジェクト。
- attributes:省略可能な文字列で、「g」「i」「m」のいずれか(またはその組み合わせ)を指定します。
主な属性(フラグ)の意味
- g:グローバルマッチ。パターンに一致するすべての文字列を検索対象にします。
- i:大文字・小文字を区別せずにマッチングを行います。
- m:複数行モード。改行を含むテキストでも、行頭(^)や行末($)とのマッチングが有効になります。
簡単な使用例
var re = new RegExp("hello", "i");
var str = "Hello World";
console.log(re.test(str)); // true
var re2 = /world/i;
console.log(str.match(re2)); // ["World"]
このように、RegExpオブジェクトのtest()やexec()メソッドを使えばパターンの一致判定ができ、さらにStringオブジェクト側のmatch()、replace()、search()、split()などのメソッドと組み合わせることで、柔軟かつ高度な文字列処理を実現できます。
-
JavaScriptの関数式(Function Expression)とは?特徴と使い方を解説
JavaScriptにおける関数式(Function Expression)とは、関数を変数に代入して定義する方法のことです。代入された関数は、その変数名を使って後から呼び出すことができます。 関数式の主な特徴 関数を変数に格納し、変数名を指定して呼び出せる 通常の関数宣言(function declaration)と異なり、ホイスティング(巻き上げ)が行われないため、定義よりも前に呼び出すことはできない 多くの場合、名前を持たない「無名関数(匿名関数)」として定義される コールバック関数や即時実行関数(IIFE)など、さまざまな場面で活用できる この「ホイスティングされない」という点が重
-
JavaScriptのクロージャとは?仕組みと実装例をわかりやすく解説
クロージャとはJavaScriptにおけるクロージャ(Closure)とは、外側の関数の実行が完了して値を返した後であっても、内側の関数から外側の関数のスコープ(変数)にアクセスできる仕組みのことです。言い換えれば、内側の関数は、外側の関数の変数に対して常にアクセスできるということです。この性質を活用することで、データを外部から直接操作されないように隠蔽したり、関数の呼び出し間で状態を保持する処理を実現したりすることが可能になります。クロージャのサンプルコード以下は、JavaScriptでクロージャを使用した具体的なコード例です。ボタンをクリックすると、クロージャによって保持された値を使って2