【JavaScript入門】正規表現とは?(使い方の実例つき)

【JavaScript入門】正規表現とは?(使い方の実例つき)

プログラミングを学ぶ上でぜひ覚えておきたい知識が「正規表現」です。正規表現の知識がなければ、Webシステムでエラーを発見したり、不正を防いだりすることはできません。ぜひ正規表現を理解して、使いこなせるようにしましょう。今回はJavaScriptによる正規表現の使い方についてご紹介します。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

正規表現とは

正規表現とは

正規表現とは、プログラミングにおいて、文字列を検索するために使用する手法の一つです。正規表現が必要になるケースとしては、「円と\といった表記の統一」や、「フォームでの個人情報の入力ミスに対しエラーを出す」など、文字列が登場するところで頻繁に活用するため、プログラミングの知識を学ぶにあたって正確な知識が求められます。

正規表現を使いこなせるようになるためには、複雑な特殊文字の組み合わせを覚える必要があるため、プログラミングを学び始めの方の中には苦手意識を持っている方が多くいらっしゃいます。しかし前述の通り、これをいかに使いこなすことができるかどうかで仕事のレベルも大きく変わってきます。

正規表現に関わらず、例を真似することがプログラミング習得の一番の近道になりますので、たくさんの例を見ていくことをおすすめします。次に一例をご紹介いたします。

JavaScriptの正規表現の例

JavaScriptの正規表現の例

正規表現は、文字列の特徴を記号化して表現します。これに一致するかどうかで、文字列を調べることができます。例えば、ECサイトなどの入力フォームにおいて、ユーザーが入力した電話番号が正しいかどうかを調べたい場合、正規表現で電話番号を表記し、それにマッチするかどうかを確認するプログラミングを記述します。

電話番号の正規表現での表記は、例えば固定電話であれば^0\d-\d{4}-\d{4}$のようになり、携帯電話では^(070|080|090)-\d{4}-\d{4}$のように記述します。

正規表現には記号メタ文字と呼ばれる記号がたくさんあり、それぞれが持つ意味を組み合わせて表記します。基本となるメタ文字として、* は直前のパターンの0回以上繰り返し、[~] は~のいずれか1文字、[^~] は~に含まれない1文字、といったものがあります。基本となるメタ文字を使いこなせるようになれば、正規表現は決して難しいものではありません。最低限基本となるものは頭に入れておくようにすると良いでしょう。

JavaScriptの正規表現を学ぶメリット

JavaScriptを学ぶメリットは数多くありますが、今回はその入門編として主なものを2つご紹介します。

1.文章処理の効率化を図ることができる

JavaScriptの正規表現を学ぶメリット

JavaScriptの正規表現には特殊文字が出てくるため、使いこなすまでには時間がかかりますが、正規表現をマスターすれば文章処理作業を効率的に行うことができます。

例えば、大量のテキストのデータから必要な情報を検索するときに1つ1つ検索するのは大変ですが、正規表現で条件をつけて検索すれば、1回の検索で条件に合致する文字列を検索することが可能です。また、正規表現を利用してユーザーがWebサイトの入力フォームに入力した文字列のエラーチェックもできます。このようにJavaScriptは動的なWebページを作る上で欠かせない言語です。

2.セキュリティー対策にも必須の知識である

正規表現を学ぶ理由は利便性だけではありません。正規表現を知らないとWebサイトに脆弱(ぜいじゃく)性が生まれる可能性があります。入力フォームに悪意あるJavaScriptコードを埋め込まれるJavaScriptインジェクションという攻撃手法もあるため、入力内容に不正な文字列が含まれていないか正規表現を使ってチェックすることが欠かせません。何となく覚えて使用するのではなく、きちんと自分のものにして活用できるよう、一からしっかりと学ぶようにしましょう。

[PR] 「このまま仕事続けていていいのかな...」そんな不安をマンガで解決!『マンガでわかる! インターネット・アカデミー』

おわりに

JavaScriptの正規表現は、Webサイトのシステム部分において欠かせない知識です。独学で学んで正規表現につまずいた、という方も多くいらっしゃいますが、確実に、そして実践的な知識として学ぶためには、やはりスクールに通うことおすすめします。

インターネット・アカデミーであれば、正規表現はもちろん、JavaScriptについて基礎からしっかりと身につけられ、疑問点はその場でインストラクターに質問して解決することができます。ぜひ一度お問い合わせください。

関連講座

プログラマー入門コース プログラマーコース ITエンジニア総合コース JavaScript講座