あなたに合った学習プランは?LINE適正コース診断はこちら プログラミングが全て無料で学習可能!
JavaScriptの正規表現って何?例をもとにわかりやすく解説 - 忍者CODEマガジン

JavaScriptの正規表現って何?例をもとにわかりやすく解説

プログラミング言語の辞書

JavaScriptを学び始めたばかりで、「正規表現」という言葉を耳にしたことがあるかもしれません。正規表現は、文字列の中から特定のパターンを見つけ出したり、文字列を操作したりするための便利な方法です。最初は難しく感じるかもしれませんが、使い方を覚えると、大変役立ちます。

今回は、プログラミング初心者でもわかりやすく、JavaScriptでの正規表現の基本から実際の使い方まで丁寧に解説します。

おすすめのオンラインプログラミングスクール
忍者CODEのWeb制作コース:月額9,800円からJavaScriptを学べる

JavaScriptの「正規表現」とは?

JavaScriptの正規表現とは、文字列内の特定のパターン(文字の並び方や規則)を検索、抽出、操作するための方法です。簡単に言うと、正規表現を使うことで、複雑な条件で文字列を扱うことができます。例えば、特定の単語や数字のパターンを見つけたり、特定のフォーマットに従った文字列を抽出したりすることが可能です。

正規表現は、スラッシュ(/)で囲まれた形式で書かれ、その中で特殊な記号や文字を使うことで、パターンを定義します。例えば、「abc」という文字列に正規表現で一致させる場合は、単純に「/abc/」と書きますが、これを少し応用して「任意の数字」や「特定の範囲の文字」なども表現できます。

初めは複雑に見えるかもしれませんが、基本的な概念を理解すれば、多くの場面で役立つ便利な技術です。

JavaScriptの講義動画を無料で見れる入門講座

JavaScriptの学習に迷った方はまずはJavaScript入門講座をチェックしましょう!
JavaScriptとは何かといった話から、問題集、一部講義動画の視聴もすべて無料で利用できます!!
本の購入やスクールへ通う前に、一度入門講座を確認しておくと、スムーズに学習を始めることができますよ。
公式LINE登録で5大特典無料プレゼント!!

JavaScriptの正規表現を使うシーン

JavaScriptにおける正規表現は、主に文字列の操作、つまり特定のパターンに一致する文字列の抽出や変換、あるいは不要な部分の削除などで活躍します。

例えば、ユーザーからの入力内容が正しい形式かどうかを確認する場合、正規表現を利用することで迅速に検証が行えます。

例えば、下記のようなシーンが考えられます。

・フォームに入力された電話番号の検証

フォームにユーザーが入力した電話番号が、指定されたフォーマットに従っているかを確認したい場合に正規表現を使います。例えば、10桁の数字でなければエラーを表示する、といった処理が簡単にできます。

・メールアドレスのドメイン部分の抽出

大量のメールアドレスが含まれるリストから「@」以降のドメイン部分だけを抽出したい場合、正規表現を使うことで、ドメイン部分を取り出すことができます。このように、パターンに基づいた文字列の抽出が簡単に実現できます。

これらの例からわかるように、正規表現はJavaScriptにおける文字列操作で非常に便利です。特に、パターンマッチングや文字列の検証を簡潔に行いたい場合には不可欠な方法となります。

オススメ:JavaScriptの問題集に無料で挑戦しよう!

JavaScriptを勉強していると、調べれば分かることもありますが、実際に自分でアウトプットするのは難しいと感じたことはありませんか?
アウトプットするためのおすすめの方法は、
「問題解くこと」です。
忍者CODEでは、JavaScriptに関する問題を60問以上用意しており、LINE登録するだけで解答を無料で確認できます!
公式LINE登録で5大特典無料プレゼント!!

JavaScriptの正規表現に使用される記号の例

正規表現は、特定のパターンを表現するためにいくつかの記号(メタ文字)を使用します。これらの記号を使うことで、文字列の検索や置換がより柔軟に行うことが可能です。

ここでは、正規表現でよく使われる記号をいくつか紹介し、それぞれの使い方を解説します。

^(ハット)|文字列の先頭

「^」(ハット記号)は、文字列の先頭を示すために使用されます。例えば、“^おはよう” という正規表現を書くと「おはよう」や「おはようございます」という文字列がマッチします。つまり、行頭が「おはよう」である場合のみマッチし、それ以外の文字列には一致しません。

$(ドル)|文字列の末尾

「$」(ドル記号)は、文字列の末尾を表すために使います。例えば、“またね$” という正規表現を書くと、「またね」や「じゃまたね」にマッチします。「$」を使えば、特定のパターンが文字列の最後に来る場合に、その文字列を効率的に検出することが可能です。

|(パイプ)|いずれかの文字列

「|」(パイプ)は、複数の文字列のいずれかにマッチするために使用されます。例えば、“松|竹|梅” という正規表現は、「松」「竹」「梅」のいずれかの文字列にマッチします。

記述する際は、スペースを含めないようにすることが大切です。スペースを入れると、そのスペースも1文字として認識されるため、意図しない結果になる可能性があります。

()(かっこ)|グループ化

「()」は、正規表現で複数の選択肢をグループ化するために使われます。例えば、“(鳥|犬|猫)が鳴いています”という正規表現は、「鳥が鳴いています」「犬が鳴いています」「猫が鳴いています」のいずれかのパターンにマッチします。このようにグループ化することで、特定の範囲内でのパターンマッチングが可能です。

.(ピリオド)|改行以外の任意の1文字

「.」(ピリオド)は、改行以外の任意の1文字にマッチします。例えば、“夏は..い” という正規表現では、「夏は楽しい」や「夏はあつい」など、文字数が2つであれば何にでもマッチしますが、「夏は熱い」などではマッチしません。このように、「.」は任意の1文字を表す便利な記号です。

*(アスタリスク)|直前の文字が0個以上ある

「*」(アスタリスク)は、その直前の文字が0個以上あることを示します。例えば、“ドドー*ン” という正規表現では、「ドドン」「ドドーン」「ドドーーーン」のすべてにマッチします。

また、「.*」のように「.」と組み合わせて使うと、任意の文字列がいくつあってもマッチするパターンになります。例えば、“.*日本一.*” という正規表現は、「日本一」という言葉を含むすべての文字列にマッチします。

+(プラス)|直前の文字が1個以上ある

「+」(プラス記号)は、直前にある文字が1個以上存在する場合にマッチします。例えば、“ドドー+ン” という正規表現は、「ドドーン」や「ドドーーーン」にマッチしますが、「ドドン」にはマッチしません。これは、少なくとも1つ以上の「ー」が存在することを求める場合に使われます。

?(クエスチョン)|直前の文字が1個ある、またはない

「?」(クエスチョンマーク)は、直前の文字が1個あるか、またはない場合にマッチします。例えば、“ドドー?ン” という正規表現では、「ドドン」でも「ドドーン」でもマッチしますが、「ドドーーーン」にはマッチしません。1つか0個の文字に対応したパターンを表現するのに便利です。

独学でJavaScriptの学習に行き詰ったらプログラミングスクールを検討しよう!

本や学習サイトを使って独学でJavaScriptを学習するのはなかなか難しいものですよね。
忍者CODEが提供するWeb制作コースの独学プランでは、24時間質問できるチャットサポート体制を整えているので、分からないところはいつでもプロのクリエイターに聞くことができます。
独学での勉強に限界を感じたときは、ぜひ無料相談を受けてみましょう!

JavaScriptの正規表現で使用するメソッドについて

ここでは、JavaScriptで正規表現を利用する際に使われるメソッドについて解説します。

メソッドとは

JavaScriptにおける「メソッド」とは、オブジェクトが持つ関数(※1)のことを指します。オブジェクトとは、データと、そのデータを操作する機能をまとめたものです。メソッドを使うことで、オブジェクトに対して特定の処理を行うことができます。

簡単に言うと、コンピューターに対して何かを実行するように指示を出すための「機能」と考えてもらえれば良いでしょう。

※1:特定の処理をまとめたプログラムの部品のこと。必要なときに呼び出して使用することが可能

よく使用される代表的なメソッド

下記はよく使用されるメソッドです。

メソッド 指示内容
alert() メッセージをポップアップで画面に表示できる
click() ボタンをクリックすると指定した処理を実行する
prompt() 情報入力のための入力画面を表示する
confirm() 内容の正誤を確認するボタンを表示する
match() 文字列に含まれている特定の文字を検索する
search() 指定の正規表現にマッチした文字列の位置を取得する
test() 指定した文字列に対し「true」もしくは「false」を返す
includes() 与えられた値が配列に含まれているかを調べ「true」もしくは「false」を返す
concat() 複数の配列を結合する配列(Array)メソッドのひとつ

メソッドには、大きく分けてインスタンスメソッドと静的メソッドの2つの種類があります。インスタンスメソッドとは、クラスのオブジェクトに対して実行されるメソッドのことです。主に“static()”メソッドを指します。クラスとはオブジェクトを作るための設計図です。設計図の中にプロパティや機能(メソッド)を記述します。

静的メソッドとは、クラスそのものに属するメソッドのことで、オブジェクトを作成せずに呼び出すことができます。

よく使われる配列メソッドは、まとまったデータ(オブジェクト)に対して操作を行うためのインスタンスメソッドになります。“splice()”“map()”など配列の追加や削除を行うメソッドがたくさん存在します。

コーディングスキルを活かして「副業」を獲得するには?

忍者CODEが提供するWeb制作コースの副業・案件獲得保証プランでは、HTMLだけでなくCSS、JavaScript、PHPと言った言語も学べるため、高単価な副業案件を獲得できるスキルを身につけられます。
現役クリエイターが学習のサポートをしてくれるため、学習中に分からないことがあれば、24時間無制限のチャットサポートでいつでも質問が可能です。
また、カリキュラムを受講完了した1ヶ月以内に5万円分の案件を必ずお渡ししています。副業をしたい方はぜひ忍者CODEをチェックしましょう!

JavaScriptの独学が難しいと思ったら

JavaScriptを独学で学び始めて、途中で挫折しそうになることはよくあります。特に、正規表現のような少し難しい概念に直面すると、理解に時間がかかり、やる気を失うこともあるでしょう。

1人で学習を進められるかな…
どこをゴールにしていいかわからない…
挫折してしまわないかな…

このように不安な気持ちになる方もいますよね。

たしかに、何かわからないことが出てきたとき、エラーが解決できないとき、誰かに相談できる環境がないことが理由でJavaScriptの学習を挫折する方が多くいます。

実際にJavaScript初学者が挫折をする1番の理由は「不明点が発生した際に気軽に相談できる環境がない」という実態があります。

それだけ学習する環境が大事だということです。

そんな背景があるからこそ、JavaScriptの勉強をする際にスクールを選ぶ方が多いのが事実です。

プログラミングスクールに通う理由は他にもあり

・確実にスキルを身に着けたい
・効率良く学習を進めたい
・モチベーションの維持にもつながりそう
・以前に独学で挫折した経験がある
このように「確実に!」「効率良く!」といった声もよく上がります。
やはり途中で挫折してしまったり、どこを目指しているのかわからなくなったりした場合、「JavaScriptを学習することは難しい」と認識してしまい、その後のスキル習得を諦めてしまう可能性が非常に高くなります。
このようなことから、社会人で時間もそこまでないため短期間でスキルを習得したい人や独学で進めるのが不安な人が効率性や確実性を求め、プロの講師に相談できる環境が用意されているプログラミングスクールを選択するのがわかります。
「転職をしたい」「副業で稼げるようになりたい」という理由でJavaScriptを学び始めたとき、わからない箇所を飛ばしてそのままに放置して学習を進めたとしても、目標とする転職や副業が実現するほどのスキルが身につかなければ多くの時間を費やして何も得られないという結果になります。
ですので、1人でJavaScriptのスキル習得ができるか不安な方は多少の費用をかけてでも、不明点をすぐに相談・解決できる環境や効率良く学習できる有料サービスを選ぶのがベストだと言えます。
そこでおすすめしたいのが「忍者CODE」です。
忍者CODEをおすすめする1番の理由は「業界最安級の金額でありながら圧倒的学習ボリュームと半永久サポートを提供している」ところにあります。
上記でお伝えしたように、初学者の多くは独力で不明点や問題点を解決できないためにJavaScriptの学習を挫折しています。そのため、初学者が経験豊富なプロのエンジニアに相談できない環境下でJavaScriptのスキル習得をするのは難易度が高いと言えます。
ですが、忍者CODEでは
・チャットでいつでも、無制限で質問可能
・学習者同士でつながれるコミュニティへの招待
などといったサポート体制を設けているため、学習を進めていく中で出てきた問題点や不明点をスムーズに解決しながら、挫折することなくプログラミングスキルの習得が可能です。
また、忍者CODEでは動画コンテンツにて学習を進めていくため、スッと頭に入ってきやすいようになっているのも特徴です。
未経験でも挫折させないオンラインスクールとして、受講生に寄り添った学習コンテンツを提供している忍者CODEをより詳しく知りたい方はぜひ公式サイトをご覧ください。

忍者CODEの学習は“実践型”!
だから
結果を出せる!

忍者CODE

●初めてJavaScriptを学習する方
はじめての方でも安心してJavaScriptを学習できるように、基礎知識から実践的な課題までプロへのロードマップが分かりやすいカリキュラムを採用。
●副業に有利なことを探されている方
∟未経験からでもスキルを習得できる“実践的カリキュラム”と、学習だけでなく受講後もプロのメンターがマンツーマンで徹底的に副業サポートまで行い、受講後は必ず案件をご紹介するプランの副業・案件”保証”プランもあります。
●業界最安級の受講費用で始めやすい
∟税込9,800円から始められる忍者CODEのプログラミングスクールは業界でも最安級!それでも学習し放題、チャットサポートは無期限・無制限と、プロのメンターとエンジニアを筆頭に、皆さんを徹底的にサポートします。

まずは自分の適性プラン診断から!
適正コース診断

まとめ

JavaScriptの正規表現は、文字列の検索や置換など、特定のパターンを簡潔に処理するための便利な方法です。正規表現を学ぶことで、複雑な文字列操作が容易になり、プログラミングの幅が広がります。ぜひ正規表現の使い方を学び、プログラミングスキルを向上させましょう。