我有两种类型的字符串。如果字符串包含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
我有一种把事情搞砸的感觉.*
。我无法找到一个向后看的示例,其中向后看组不会立即在匹配组之前。