JavaScriptの正規表現を使った文字列操作例まとめ!初心者でもわかる使い方
生徒
「先生、文字列を検索したり置き換えたりする便利な方法はありますか?」
先生
「JavaScriptでは正規表現を使うと、文字列の検索や置換、抽出を簡単に行うことができます。正規表現は特定の文字のパターンを表す方法です。」
生徒
「正規表現って難しそうですが、具体的な例で見てみたいです。」
先生
「では、基本的な使い方から応用例まで順番に解説していきます!」
1. 正規表現とは?
正規表現(RegExp)は、文字列のパターンを表現する特別な文字列です。
例えば、「数字だけ」「英字だけ」「特定の文字を含む文字列」などを検索できます。
JavaScriptでは/パターン/フラグという書き方で正規表現を作成します。
const regex = /abc/;
console.log(regex.test("abcdef")); // パターンが含まれているか
true
test()メソッドは文字列に正規表現のパターンが含まれているかを真偽値で返します。
2. 文字列の検索に正規表現を使う
正規表現を使うと、文字列の中で特定の文字や文字列の位置を検索できます。
例えば、数字だけを探す場合は\dを使います。
const str = "電話番号は090-1234-5678です";
const regex = /\d+/g; // 連続する数字を検索
const result = str.match(regex);
console.log(result);
["090", "1234", "5678"]
match()メソッドを使うと、文字列中の正規表現に一致するすべての部分を配列として取得できます。
3. 文字列の置換に正規表現を使う
正規表現を使えば文字列の置換も簡単です。replace()メソッドと組み合わせます。
const text = "猫と犬と鳥";
const newText = text.replace(/猫|犬/g, "動物");
console.log(newText);
動物と動物と鳥
上の例では「猫」と「犬」をまとめて「動物」に置き換えています。 正規表現を使うと複数の文字列をまとめて処理できるので便利です。
4. 大文字小文字を無視して検索する
正規表現にはフラグがあります。iフラグを使うと大文字小文字を区別せずに検索できます。
const str2 = "JavaScriptとjavascript";
const regex2 = /javascript/gi; // gは全体検索、iは大文字小文字を無視
const result2 = str2.match(regex2);
console.log(result2);
["JavaScript", "javascript"]
このように正規表現を使うと、文字列の検索や置換を非常に柔軟に行うことができます。
5. 文字列を分割する
正規表現をsplit()メソッドと組み合わせると、文字列を特定のパターンで分割できます。
const data = "りんご,みかん,バナナ";
const fruits = data.split(/,/);
console.log(fruits);
["りんご", "みかん", "バナナ"]
カンマや空白などで文字列を分割したいときに正規表現は便利です。
6. 正規表現を使った簡単なチェック例
入力チェックなどにも正規表現は使えます。例えばメールアドレスの簡単な形式チェックです。
const email = "example@test.com";
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
console.log(emailRegex.test(email));
true
この例では、メールアドレスの形式に合っているかどうかをtest()で確認しています。
正規表現を活用すると文字列の形式チェックやデータ検証も簡単になります。
7. 応用例:複数パターンを同時に処理する
正規表現を使うと複数のパターンをまとめて処理できます。例えば文章中の英数字だけを抜き出す場合です。
const sentence = "商品番号はA123、B456、C789です";
const codeRegex = /[A-Z]\d+/g;
const codes = sentence.match(codeRegex);
console.log(codes);
["A123", "B456", "C789"]
英字1文字と数字の組み合わせをすべて抽出できるので、特定の形式のデータを簡単に取り出せます。