Webサイト制作コースのお申し込みはこちら

正規表現は、文字・文字列のパターンを表現するものです。これをプログラミング時に使用することで、欲しい文字列を検索する時に強力な方法として採用されています。今回は、マッチ(検索)させることに対して否定の要素を加え、マッチするものを除外する方法を紹介します。

特定の1文字以外を含まない文字列の正規表現

[]を使用すると、囲まれた文字にマッチさせることが出来ます。これに否定・除外の意味を持つ^(キャレット)を使用することで、「指定した文字を含まない」表現が出来ます。

例)
^

[マッチする例]
B
C
D

特定のパターン以外の文字列の正規表現

指定した文字を含まない

この場合も、上記の[]を使って書くことができます。

例)
[正規表現]
[^ABCDEF]

[マッチする例]
G
HIJ

指定した文字列を含まない1行を検索する

^(?!.*文字列).+$
上記の文字列の箇所に指定した文字(文字列)を含まない1行を検索出来ます。

例)
^(?!.*ABC).+$
「ABC」という文字列を含まない行を検索します。

指定した複数の文字列を含まない1行を検索する

^(?!.*(文字列|文字列)).+$
文字列を|(パイプ)で繋げることで、複数の文字列を除外することが出来ます。

例)
^(?!.*(ABC|XYZ)).+$
「ABC」または、「XYZ」という文字列を含まない行を検索します。

指定した文字列から開始しない1行を検索する

^(?!文字列).+$
文字列の部分から開始しない行を検索することが出来ます。

例)
^(?!ABC).+$
「ABC」という文字列から始まらない行を検索します。

指定した文字列で終わらない1行を検索する

^(?!.*文字列$).+$
文字列で終了しない行を検索することが出来ます。

例)
^(?!.*ABC$).+$
「ABC」で終了しない行を検索します。

~は含むが、~は含まない1行を検索する

^(?!.*文字列1).*(?=文字列2).*$
文字列2は含むが、文字列1は含まない1行を検索することが出来ます。

例)
^(?!.*ABC).*(?=XYZ).*$
「XYZ」という文字列を含み、ABCという文字列は含まない行を検索します。

まとめ

正規表現は、「何かにマッチする」「あてはまる」「含む」ようなイメージを持ってしまう人も多いのですが、それを逆手に取って「除外」する方向でマッチさせる方が、すっきりした書き方・表現になることもあります。最初は慣れるのに時間がかかるかもしれませんが、「マッチする表現」から「除外する」を導く書き方を想像できるようになると、効率的で分かりやすくなることも多いので、少しずつ試してみましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。