- Home ›
- Ruby入門 ›
- Ruby正規表現の使い方
行の先頭にマッチする(^)
指定したパターンが行の先頭にある場合だけマッチするようにするにはメタ文字の1つである「^」を使います。「^」自身は特定の文字にマッチするものではなく行の先頭の位置にマッチします。ここでは Ruby の正規表現で行の先頭にマッチするメタ文字の「^」の使い方について解説します。
(Last modified: )
目次
行の先頭にマッチする
メタ文字の ^
は行の先頭にマッチします。書式は次の通りです。
/^パターン/
具体的な例で考えてみます。「abcdef」と「defabc」と言う2つの文字列に対してパターンを /abc/
と指定した場合にはどちらの文字列にも「abc」は含まれているため、どちらもマッチします。
○ abcdef ○ defabc
これに対してパターンを /^abc/
と記述した場合は、行の先頭に位置に「abc」がある場合だけマッチします。よって「abcdef」はマッチしますが「defabc」はマッチしません。
○ abcdef × defabc
具体的には次のように記述します。
str = "defabc" if /^abc/ =~ str then puts("マッチします") else puts("マッチしません") end
なおRubyにおいてはメタ文字 ^
は文字列の先頭だけではなく行の先頭にマッチします。つまり1つの文字列の中に改行が含まれていた場合、改行された行の先頭にもマッチします。
× defabc ○ def\nabc
他のプログラミング言語の場合にはメタ文字 ^
は行頭ではなく文字列の先頭にだけマッチする場合がありますので注意して下さい。
では簡単なプログラムで確認してみます。
# encoding: UTF-8 def check(str) print(str + " は ^abc に") if /^abc/ =~ str then puts("マッチします") else puts("マッチしません") end end check("abcdef") check("defabc") check("abc\ndef") check("def\nabc")
下記のように実行して下さい。
-- --
Ruby の正規表現で行の先頭にマッチするメタ文字の「^」の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。