rubyの正規表現

ここhttp://rubyist.g.hatena.ne.jp/gaba/20070211をみていたら、
rubyperl正規表現は少し違うらしい。
perlの場合は文字列先頭・末尾の意味で「^$」が使えるけど、rubyでは無理という話。

動作を調べる。

perlは使わないから、調べなくていいや。めんどうだし。

sentence = <<str
働く気力が出ないのは
全て暑さのせいなのです。
str

#==行頭の「^」と行末の「$」を使った場合==
puts sentence.gsub(/^/,"(・∀・ )").gsub(/$/,"(´・ω・`)")
#=>(・∀・ )働く気力が出ないのは(´・ω・`)
#(・∀・ )全て暑さのせいなのです。(´・ω・`)
#(´・ω・`)
#---------------------------------------------

#==文字列先頭の「\A」と文字列末尾の「\Z」
puts sentence.gsub(/\A/,"(・∀・ )").gsub(/\Z/,"(´・ω・`)")
#=>(・∀・ )働く気力が出ないのは
#全て暑さのせいなのです。(´・ω・`)
#(´・ω・`)

文字列末尾には最後の改行を無視する「\z」(小文字)もあります。

補足

調べてみたところ、perlにも「\A,\Z,\z」は存在している。