2種類の弦を持っています。文字列にfoo
first と laterが含まれている場合はbar
、触れないでください。のみが含まれている場合bar
は、bar
を に置き換える必要がありますqux
。
"sometext foo someothetext bar somethirdtext"
触れてはいけない"sometext bar someothetext"
=>"sometext qux someothetext"
ネガティブルックビハインドを使用する必要があるようですが、正しく機能させることができません。現在、私は式を持っています:
str.gsub! (/(?<!foo)(.*)bar/), '\1qux'
ただし、両方の文字列でbar
toに置き換えられます。私は物事を台無しqux
にする感じがあります。.*
後読みグループが一致したグループにすぐに先行しない後読みの例を見つけることができませんでした。