収入UPの転職を目指す方へ

【Java入門】文字列チェック&比較の味方!正規表現とは

  • 2018/01/25
【Java入門】文字列チェック&比較の味方!正規表現とは

フォーム入力の際にメールアドレスが正しく入力されているかチェックしたり、正確に入力されていない場合はエラーを表示させたりする機能を実装するときに便利なのが正規表現です。正規表現の代表的なパターンといくつかのコマンドを覚えるだけで作業効率が格段にアップします。エンジニアやプログラマーを目指す方は、ぜひ覚えておきましょう。
今回は、正規表現の記述法やその使い方についてご紹介します。

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

目次

正規表現とは

正規表現とは

インターネットの検索エンジンを利用する際、検索したい文字に「*(アスタリスク)」「AND」「OR」を加えると、さまざまな条件で検索することができます。

プログラムの文字列の中に指定したパターンに合致する部分があるかを調べるときに使われるのが正規表現です。通常の完全一致検索では検索できない文字列であっても、正規表現を利用することにより、検索することができます。

正規表現の記述には、検索エンジンと同じように特殊な文字や特定の構文を用います。よく使用する正規表現と同時に特殊なパターンを頭の隅に置いておけば、作業効率が大幅にアップします。正規表現はJavaに限らず、他の言語にも活用できるため、積極的に使用して記述方法に慣れていきましょう。

正規表現の記述法

記号の意味

記号の意味

主な正規表現の記号には、以下のようなパターンがあります。多くの場合、他の記号と組み合わせて使用します。

  • 「.」...任意の1文字
  • 「*」...直前の0個以上の文字
  • 「+」...直前の1個以上の文字
  • 「?」...直前の0個または1個の文字
  • 「|」...|で区切られた、いずれかの文字とのマッチング
  • 「^」...文字列の先頭
  • 「[ ]」...[ ]内のいずれかの文字とのマッチング
  • 「()」...()内をグループ化
  • 「[^~]」...~以外の文字(~には文字が入る)
  • 「-」...文字の範囲(「[A-Z]」はA~Zまでの1文字とのマッチング)
  • 「?=~」...~の部分を先読み

組み合わせ(and、or)

上記の記号を使って、論理演算子andとorを表現してみましょう。

  • appleとbananaという2つの単語が含まれているか(apple and banana)
    「^(?=.*apple)(?=.*banana)」
  • appleもしくはbananaのいずれかの単語が含まれているか(apple or banana)
    「apple|banana」

Javaの正規表現はどんなときに使う?

文字列が等しいかを調べる(equalsメソッド)

文字列が等しいかを調べる(equalsメソッド)

Javaで特定の文字列が等しいかをチェックする場合、「equals (同値性)メソッド」を使います。同値性という言葉通り、equalsメソッドはオブジェクト(この場合は文字列)の値が等しいかどうかを確かめることができます。

似たような表現で「==演算子」がありますが、こちらはオブジェクトの同一性をチェックするためのものであるため、間違えないようにしましょう。

パターンの一致を調べる(matchesメソッド)

Javaで文字列のパターンが一致するかをチェックするときは、「matchesメソッド」を使います。matchesメソッドは正規表現を使用して、指定した部分文字列のマッチングを調べることができます。例えば、フォーム入力の際にメールアドレス欄に入力された文字列は、@キーワードをmatchesメソッドで調べ、正しいフォーマットかどうか判断します。

おわりに

今回は正規表現についてご紹介しました。正規表現は非常に奥が深く、正規表現を専門に扱った書籍もあるほどです。正規表現は文字列の検索や入力内容のチェックに必須であるため、エンジニアやプログラマーを目指している方はしっかりと理解して使いこなせるようにしましょう。
インターネット・アカデミーでは、正規表現を含めたプログラム開発に欠かせない知識を、実際によく使われるWebアプリケーションの例に即して実戦的に学ぶことができます。ご興味のある方は、Java講座やITエンジニア総合コースの受講をおすすめします。

関連記事

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

関連講座

Java講座 ITエンジニア総合コース

Web業界への就転職・キャリアアップを成功させたいと考えている方へ
1995年開校、日本初のWebデザイン・プログラミングスクールインターネット・アカデミー

自分にぴったりのコースが見つかる

プログラミングスクールのインターネット・アカデミーでは、Web業界を目指すあらゆる方にお応えすべく、多彩なコースをご用意しています。

Webデザインを学びたい方

プログラミングを学びたい方

自分のペースとスタイルで学べる

毎回好きな受講形式を選んで学習することができるので、働きながらじっくり通いたい方も短期間での就職を目指す方も自分の都合に合わせて、スケジュールを組むことができます。

  • ライブ授業

    現役のプロインストラクター
    と仲間と学ぶメリット

    ライブ授業
  • マンツーマン授業

    インストラクターと
    1対1という贅沢

    マンツーマン授業
  • オンデマンド授業

    いつでも学びたいことを
    学べる

    オンデマンド授業

自分に適した学習方法を探す

インターネット・アカデミーでは、無料体験レッスンを毎日開催しています。デザインやプログラミングの体験ができるのはもちろん、実際の授業に参加したり、就職や転職のご相談、通学スケジュールのご相談なども承っております。

  • ご要望をお伺い

    ご要望をお伺い

    まずはお客様のご要望をお伺いし、お一人おひとりの目的や悩みに最適な内容にカスタマイズ。お客様専用の内容で当日ご案内いたします。

  • カウンセリング

    カウンセリング

    就職や転職、在宅で働きたいなど、お客様の希望を叶えるために専任のスタッフが最適な学習プランをご提案。現在の仕事のご相談なども承ります。

  • 体験レッスン

    体験レッスン

    「自分に向いている分野は?」「自分にできる?」そんな疑問を解決するレッスンを無料で体験。デザインもプログラミングもお試しいただけます。

無料体験レッスン・個別相談のご予約

当日ご希望の方やお急ぎの方は、フリーダイヤルにてご予約いただけます。

0120-746-555 フリーダイヤル受付時間(平日・土日) 10時-21時 オンライン予約

IT研修・人材育成のご相談を無料で承っております
法人専用社員研修、内定者・新人研修のご予約

インターネット・アカデミーでは、
あらゆるニーズに合わせた研修カリキュラムを取り揃えています。

「自社に最適な研修プランを相談したい」「研修費用の相談をしたい」「助成金を申請したい」など、お電話またはお問い合わせフォームよりお気軽にご連絡ください。

03-3341-3781 受付時間(平日・土日) 10時-21時 法人専用 お問い合わせフォーム