rubyの正規表現
ここhttp://rubyist.g.hatena.ne.jp/gaba/20070211をみていたら、
rubyとperlの正規表現は少し違うらしい。
perlの場合は文字列先頭・末尾の意味で「^$」が使えるけど、rubyでは無理という話。
動作を調べる。
perlは使わないから、調べなくていいや。めんどうだし。
sentence = <<str 働く気力が出ないのは 全て暑さのせいなのです。 str #==行頭の「^」と行末の「$」を使った場合== puts sentence.gsub(/^/,"(・∀・ )").gsub(/$/,"(´・ω・`)") #=>(・∀・ )働く気力が出ないのは(´・ω・`) #(・∀・ )全て暑さのせいなのです。(´・ω・`) #(´・ω・`) #--------------------------------------------- #==文字列先頭の「\A」と文字列末尾の「\Z」 puts sentence.gsub(/\A/,"(・∀・ )").gsub(/\Z/,"(´・ω・`)") #=>(・∀・ )働く気力が出ないのは #全て暑さのせいなのです。(´・ω・`) #(´・ω・`)
文字列末尾には最後の改行を無視する「\z」(小文字)もあります。
補足
調べてみたところ、perlにも「\A,\Z,\z」は存在している。