tapitapi’s blog

1日1杯タピオカ!エンジニア

【ruby】Rubularで正規表現練習 第一回

今まで逃げてた正規表現(regular expresson、略してRegex! れげっくす???)に向き合うべく、基本の正規表現をおさらい!

正規表現javascriptRubyなど、言語によって多少かわるようなのですが、今回はRubyに限定して行います。)

 

かっこつけたいので、下記では正規表現Regexと書かせてください ^^

 

いままでお世話になっているRubularというサイトで練習していきます!

rubular.com

 (一覧->*第一回第二回第三回第四回)

RebularのフッタのあたりにかいてあるRegex Quick reference!この魔法の呪文の一番左の列を今回は覚えていこうと思います!!

[abc] :A single character of: a, b, or c (1文字:aかbかc)
[^abc] :Any single character except: a, b, or c (1文字:aかbかc以外)
[a-z] :Any single character in the range a-z (1文字:a からz。つまりアルファベット小文字)
[a-zA-Z] :Any single character in the range a-z or A-Z (1文字:a からzとAからZ。つまりアルファベット小文字と大文字)
^ :Start of line (行の最初)
$: End of line(行の最後)
\A :Start of string (文字列の最初)
\z :End of string (文字列の最後)

 

上の説明見ても、なにがなんだか、、、、??

 

とりあえず例を見ていきましょう!

1、[abc]  (apple banana cherryでテスト)

f:id:kayo445:20200211201344p:plain

aかbかcの値がマッチして、青くなっていることが分かると思います。

[01234567]とすれば、0~7の数字がマッチ!

[abc][123]とすれば、一文字目がa,b,cのどれかで、二文字目が1,2,3のものがマッチ!

たとえばa1やc2など。

 

2、[^abc]  (apple banana cherryでテスト)

f:id:kayo445:20200211201405p:plain

逆にabc以外の文字がマッチ

 

3、[a-z] Apple Banana 01234でテスト)

f:id:kayo445:20200211201245p:plain

小文字だけマッチ。名前の入力フォームで小文字だけ許可にしたいときなどに使えそうです!

 

4、[a-zA-Z]  Apple Banana 01234でテスト)

f:id:kayo445:20200211201521p:plain

アルファベットだけマッチ!

[0-9]とすれば、数字だけがマッチ!

 

5.^ 、$

f:id:kayo445:20200211201600j:plain

行の最初と最後が指定できます!

 

6、\A 、\z 

f:id:kayo445:20200211201915p:plain

文字列の最初と最後が指定できます!^ 、$との違いは、複数行のときはNo matchesになること!一行だけOK

 

f:id:kayo445:20200211201621j:plain

 

これだけでも応用次第で色々とできそうですね!

今日はここまでー!

 

おやすみなさいぃぃぃぃ