アマグラミング

プログラミング初心者が勉強したことを復習とメモがてら書いているだけです。

(72)正規表現を使い、マッチングを行う。

Ruby正規表現というものが使われます。

正規表現を使うと、

 

文字列とパターンの一致や

パターンを使った文字列から抜き出したい

ときなどに使えます。

 

〇〇という文字列を含んでいる行を探して表示したい。

〇〇と△△の間にある文字を抜き出したい時など

そういったパターンを調べることをマッチングと言います。

 

このような文字列のパターンを表現するのに使われるのが

正規表現というわけです。

 

正規表現にもいろいろあるようですが、

ここではそこまで深いところを扱いません。

 

正規表現オブジェクトを作るための構文はこうです。

/パターン/

こう書きます。

 

例えば

/Tokyo/

ならTokyoという文字列にマッチする正規表現なわけです。

 

正規表現と文字列のマッチングを行うには

=~演算子を使います。

 

なので

/パターン/ =~マッチングしたい文字列

こういう形になります。

 

マッチが成功すると、その位置を返してくれます。

文字の位置は、左から0から数えます。

 

マッチングしないとnilを返してきます。

 

まあやってみましょう。

 

p /Tokyo/ =~ "Tokyo"

p /tokyo/ =~ "Tokyo"

 

実行すると

f:id:tiroru17:20170624082005p:plain

 

英字の大文字と小文字を区別しないでマッチングを行うには

iを使いします。

 

書いてみましょう。

p /tokyo/i =~ "Tokyo"

 

実行してみます。

f:id:tiroru17:20170624085350p:plain

今度はnilではなく0と返してくれました。