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