Tamarbで正規表現について勉強してきました
今日はTamarbというルビーの会に参加させていただきました!
Tamaですが開催場所は渋谷でした(ありがたい)
今日学んだことについて書いておこうと思います。
正規表現とは
「パターンを指定して文字列検索や置換を行う一種のミニ言語」(チェリー本より引用)
正規表現を使うのはどんな時か
・住所や電話番号などが正しい形で入力されているか調べるとき。
・urlの中から特定の欲しい部分だけ抜き出すとき。
などなど!
メタ文字とは
・その文字本来の意味ではなく、プログラムで特別な意味を持たせた文字のこと。
・正規表現を支える重要な技術。
メタ文字には3つのグループがある。
- 1文字マッチ
^ 行頭を表す(読み:キャレットハット)
$ 行末を表す
. 任意の一文字を表す - 繰り返し
* 直前の文字やパターンが0回以上連続
+ 直前の文字やパターンが1回以上連続
? 直前の文字やパターンが0回か1回
{n,m} 直前の文字やパターンがn回以上m回以下連続する - 複数の文字列を扱う
| | で区切られたいずれかの文字列にマッチ
( ) 正規表現のグループ化
[ ] 文字クラスの作成
\ 文字クラスの省略記法orバックスラッシュ記法
文字列の省略記法には以下のようなものがある(画像はけんさんのスライドより)
メタ文字の+、*、? の覚え方は以下のような方法があるらしい。(画像はけんさんのスライドより)