The regex /abc$/ will match an abc that does appear at the end of the line. How do I do the inverse?
I want to match abc that
/abc(?!$)/
(?!$) is a negative lookahead. It will look for any match of abc that is not directly followed by a $ (end of line)
Tested against
applying it to your case:
ruby-1.9.2-p290 :007 > "aslkdjfabcalskdfjaabcaabc".gsub(/abc(?!$)/, 'xyz')
=> "aslkdjfxyzalskdfjaxyzaabc"