From: Tatsuaki Nagai Date: 2003-03-20T16:59:15+09:00 Subject: [ruby-list:37371] Re: 正規表現の位置指定の使い方 > > それなら例えば、 > >  (?=[^\\]) > > などとすればよいのではないでしょうか。 > > 自分も混乱気味でまた間違っているかもしれませんが、上記は > > (?!\\) > > とは異なるのでしょうか。 いや、一緒だと思います。 > aaZbbZccZ > > という文字列に対して「直前がaa以外のZ」という正規表現の書き方が > 分かりませんでした。 (snip) > > gsubで文字列を部分的に置きかえることを想定していて、 > (?:...)のように後方参照がないものがよかったので、 > (?:...)を引き合いに出し、(?:...)の逆にあたる表記がないものかと思いました > 。 gsubであれば以下のように、置き換えない部分を( )でくくって残すというのは どうでしょうか。 print str.gsub(/([^a])Z/,'\1Y')