先頭と末尾にそれぞれマッチするパターンを作成する

正規表現のパターンには複数のメタ文字は組み合わせることができます。例えば行の先頭にマッチする「^」と行の末尾にマッチする「$」を合わせて使うことで何から始まって何で終わるといったパターンを作成できます。ここでは Ruby の正規表現で先頭と末尾にそれぞれマッチするパターンを作成する方法を解説します。

(Last modified: )

先頭と末尾にそれぞれマッチする

行の先頭にマッチするメタ文字 ^ と行の末尾にマッチするメタ文字 $ を合わせて使用する場合の書式は次のようになります。

/^パターン$/

メタ文字を除くパターン部分が文字列だった場合、指定された文字列が行の先頭と末尾にマッチすることになりますので、この場合はパターン部分で指定した文字列と完全に一致する場合にだけマッチすることになります。

よってパターンを /^abc$/ と記述した場合は、「abc」だけにマッチし、「abcdef」や「defabc」にはマッチしません。

abc
× abcdef
× defabc

具体的には次のように記述します。

str = "abc"

if /^abc$/ =~ str then
  puts("マッチします")
else
  puts("マッチしません")
end
サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

def check(str)
  print(str + " は ^abc$ に")

  if /^abc$/ =~ str then
    puts("マッチします")
  else
    puts("マッチしません")
  end
end

check("abc")
check("abcdef")
check("defabc")

下記のように実行して下さい。

先頭と末尾を合わせて指定

-- --

Ruby の正規表現で先頭と末尾にそれぞれマッチするパターンを作成する方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。