- Home ›
- Ruby正規表現の使い方 ›
- 位置の指定 ›
- HERE
先頭と末尾を合わせて指定
広告
パターンの中にはメタ文字は単独で使用するだけではなく複数のメタ文字を併用して使用することが出来ます。そこで行の先頭にマッチする「^」と行の末尾にマッチする「$」を合わせて使ってみます。
/^パターン$/
メタ文字を除くパターン部分が文字列だった場合、指定された文字列が行の先頭と末尾にマッチすることになりますので、この場合はパターン部分で指定した文字列と完全に一致する場合にだけマッチすることになります。
よってパターンを「/^abc$/」と記述した場合は、「abc」だけにマッチし、「abcdef」や「defabc」にはマッチしません。
○ abc × abcdef × defabc
具体的には次のように記述します。
str = "abc" if /^abc$/ =~ str then print("マッチします¥n") else print("マッチしません¥n") end
サンプルプログラム
では簡単なプログラムで確認して見ます。
#! ruby -Ku require "kconv" def check(str) print(Kconv.tosjis(str + " は ^abc$ に")) if /^abc$/ =~ str then print(Kconv.tosjis("マッチします¥n")) else print(Kconv.tosjis("マッチしません¥n")) end end check("abc") check("abcdef") check("defabc")
上記のプログラムを「test5-1.rb」として保存します。文字コードはUTF-8です。そして下記のように実行して下さい。
( Written by Tatsuo Ikura )