正则表达式/abc$/将匹配abc在行尾出现的正则表达式.我该怎么办?
我希望匹配abc不在一行的末尾.
此外,我将使用正则表达式来替换字符串,因此我只想捕获abc字符串之后的任何内容,因此/abc.+$/不起作用,因为它不仅会替换,而且还会替换abc任何内容abc.
使用正确的正则表达式是什么?
Ben*_*ate 61
/abc(?!$)/
Run Code Online (Sandbox Code Playgroud)
(?!$)是一个负面的先行.它将寻找abc的任何匹配,而不是直接跟随a $(行尾)
经过测试
将它应用于您的案例:
ruby-1.9.2-p290 :007 > "aslkdjfabcalskdfjaabcaabc".gsub(/abc(?!$)/, 'xyz')
=> "aslkdjfxyzalskdfjaxyzaabc"
Run Code Online (Sandbox Code Playgroud)