haayaaa’s diary

日々学んだことについてまとめていきます。主にRuby、Rails、JavaScript、HTML、CSSについてです。

Tamarbで正規表現について勉強してきました

今日はTamarbというルビーの会に参加させていただきました!

Tamaですが開催場所は渋谷でした(ありがたい)

今日学んだことについて書いておこうと思います。

 

 

正規表現とは

「パターンを指定して文字列検索や置換を行う一種のミニ言語」(チェリー本より引用)

 

 

正規表現を使うのはどんな時か

・住所や電話番号などが正しい形で入力されているか調べるとき。

・urlの中から特定の欲しい部分だけ抜き出すとき。

などなど!

 

メタ文字とは

・その文字本来の意味ではなく、プログラムで特別な意味を持たせた文字のこと。

正規表現を支える重要な技術。

 

メタ文字には3つのグループがある。

  1. 1文字マッチ
    ^    行頭を表す(読み:キャレットハット)
    $    行末を表す
    .     任意の一文字を表す

  2. 繰り返し
    *    直前の文字やパターンが0回以上連続
    +   直前の文字やパターンが1回以上連続
    ?   直前の文字やパターンが0回か1回
    {n,m}   直前の文字やパターンがn回以上m回以下連続する

  3. 複数の文字列を扱う
    |     | で区切られたいずれかの文字列にマッチ
    ( )    正規表現のグループ化
    [ ]    文字クラスの作成
    \     文字クラスの省略記法orバックスラッシュ記法

    文字列の省略記法には以下のようなものがある(画像はけんさんのスライドより)

 

 

メタ文字の+、*、? の覚え方は以下のような方法があるらしい。(画像はけんさんのスライドより) 

gyazo.com