バナー画像

正規表現とは

プログラミングで文字列処理を行う時に便利な表現を正規表現と言います。正規表現を用いると、たとえば文字の検索が容易に行えます。正規表現は「表現」という言葉のとおり、文字や文字列を、ある規則に従って表現(パターン化)することができるもので、使えるようになると非常に便利で強力なツールとなります。今回は、その正規表現における繰り返し表現を取り上げてみます。

正規表現での「繰り返し」の書き方

任意の一文字を繰り返す

任意の一文字を正規表現では、.(ピリオド)を使って表現します。

例)
[正規表現]
A.bc
[マッチする例]
A1bc
AJbc
A#bc

直前の文字の繰り返し(1回以上の繰り返し)

+(プラス)を使用すると、「1回以上の繰り返し」を表現できます。たとえば任意の一文字の繰り返しを表現するには、.+と書くことで行うことができます。

例)
[正規表現]
A+
[マッチする例]
AAA
AAAAAAA

直前の文字の繰り返し(0回以上の繰り返し)

「直前の文字」を表すには、上述で紹介した+(プラス)と(アスタリスク)があります。+の方は、既に紹介しましたが「1回以上の繰り返し」を示しますので、たとえばa+と記述すると、「aが1回以上繰り返す」という意味になります。対して、*(アスタリスク)の方は、「0回以上の繰り返し」を示します。b*と表現すると、「bの0回以上の繰り返し」を表すことが出来ます。

例)
[正規表現]
Ab*
[マッチする例]
A
Ab
Abbb

グループ化して複数の文字を繰り返す

複数の文字をグループ化し対象とするには、()で文字を囲みます。

例)
[正規表現]
(Hello)+
[マッチする例]
Hello
HelloHello
HelloHelloHello

任意の文字を繰り返す

上述した.*+を用いた例を幾つか紹介します。

1)aとcの間に任意の文字が繰り返す例

例)
[正規表現]
a.+c
[マッチする例]
abc
abbbc
aOIUc

2)改行を含めた任意の文字の繰り返し

任意の文字を示す.は、改行にはマッチしないため、以下のように全ての文字に一致するように書く必要があります。¥dは数字を示し、¥Dは数字以外の文字を示します。これを[]で囲むことで改行もマッチするようになります。

例)
[正規表現]
a[¥d¥D]+b

最長一致・最短一致

最長一致・最短一致という表現方法もあります。繰り返した文字や文字列を「*」や「+」を用いて、マッチするだけ全て取得する最長マッチ。これらは、上述してきたものになります。逆に可能な限り短い文字列を得るための表現を最短一致と言います。これには、を使用することで可能です。?は、「0回または、1回の出現」にマッチするので、その習性を利用します。

例)
[正規表現]
a+?
[マッチする例]
a
*対象文字がaaaaaaaaaと、複数のaを連結した文字列だったとしても1つのaにのみマッチします。

繰り返しの回数を指定する

回数を指定するには、{}を使用します。以下に幾つかの使用例を紹介します。

n回繰り返す

{2}で2回の繰り返しを。{3}で3回の繰り返しというように{}内に数字を入れることで表現できます。

n回以上繰り返す

{n,} と表現することで、n回以上の繰り返しにマッチさせることができます。

例)
[正規表現]
[0-9]{3}
[マッチする例]
123
233
などの3桁の数字にマッチ

n回以上m回以下繰り返す

{n, m}と記述することで、マッチさせることができます。

例)
[正規表現]
d{1,4}
[マッチする例]
193
1
89
9876

まとめ

正規表現は、いろんなパターンを作ることが出来ます。正規表現を使いこなせると、プログラミングやエクセルを使う際に役に立つので、少しずつ覚えていきましょう。自分が必要な正規表現から覚えて、実際に活用してみてくださいね。

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

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

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

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

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

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

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

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

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

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

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