0
0

More than 1 year has passed since last update.

正規表現(^, \A, \z \Z, $)の違い

Last updated at Posted at 2021-10-04

Ruby を使って 正規表現の違いを説明します。

\A, ^, \Z, \z, $ は微妙に異なります。

\A

文字列の始まり

Sample

"abc \n def \n ghi \n".gsub(/\A.*$/, '')
# => "\n def \n ghi \n" 

文字列の最初から行末までマッチしました。

^

行の始まり

Sample

"abc \n def \n ghi \n".gsub(/^.*$/, '')
# => "\n\n\n"

"abc \n def \n ghi \n".gsub(/^ .*$/, '')
# => "abc \n\n\n"

行頭から行末まで、改行を除いてマッチしました。

\Z

文字列の終わり。 改行を含まない。

Sample

"abc \n def \n ghi \n".gsub(/.*\Z/, '')
# => "abc \n def \n\n" 

改行を除いた最後の行にマッチしました。

\z

文字列の終わり。

Sample

"abc \n def \n ghi \n".gsub(/.*\z/, '')
# => "abc \n def \n ghi \n" 

改行を含む最後の行にマッチしました。

$

行の終わり。

Sample

"abc \n def \n ghi \n".gsub(/.*$/, '')
# => "\n\n\n" 

"abc \n def \n ghi \n".gsub(/ .*$/, '')
# => "abc\n\n\n"

改行を除く行末にマッチしました。

使用した環境

  • Ruby 2.7.1

関連

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0