- Home ›
- Ruby入門 ›
- Ruby正規表現の使い方
直前の文字が1回以上連続する文字列にマッチする(+)
メタ文字の1つであるプラス(+)をパターンの中に記述すると、プラスの直前にある文字が 1 回以上繰り返された文字列にマッチします。アスタリスク(*)と異なり最低でも 1 回は直前の文字が必要となります。ここでは Ruby の正規表現で直前の文字を 1 回以上繰り返す文字列にマッチするメタ文字「+」の使い方について解説します。
(Last modified: )
直前の文字を1回以上繰り返し
メタ文字 +
は直前の文字を1回以上繰り返す文字列にマッチします。例えば次のように使用します。
/Go+gle/
上記の場合、プラス(+)は直前の文字(今回は「o」)に 1 回以上繰り返したものにマッチします。 1 回以上というのは「o」が必ず 1 回は必要になりますので「o」や「oooo」などにマッチするということになります。
マッチするもの:
Gogle Gogle Google Gooogle Goooogle
マッチしないもの:
Ggle Gooopgle
プラス(+)の直前の文字が必ず 1 回は必要となります。
では簡単なプログラムで確認してみます。
# encoding: UTF-8 def check(str) if /Go+gle/ =~ str then puts("○" + str) else puts("×" + str) end end puts("「Go+gle」にマッチするかどうか") check("Ggle") check("Gogle") check("Google") check("Goooooogle") check("Gmgle") check("Gomogle")
下記のように実行して下さい。
-- --
Ruby の正規表現で直前の文字を 1 回以上繰り返す文字列にマッチするメタ文字「+」の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。