正则表达式/abc$/
将匹配abc
出现在行尾的一个。我该如何做相反的事情?
我想匹配abc
不在行尾的。
此外,我将使用正则表达式来替换字符串,所以我只想捕获abc
字符串之后的任何内容,而不是任何内容,因此/abc.+$/
不起作用,因为它不仅会替换,还会替换abc
之后的任何内容abc
。
使用什么正确的正则表达式?
/abc(?!$)/
(?!$)
是负前瞻。它将查找任何不直接跟在$
(行尾)后面的 abc 匹配项
经测试
将其应用于您的案例:
ruby-1.9.2-p290 :007 > "aslkdjfabcalskdfjaabcaabc".gsub(/abc(?!$)/, 'xyz')
=> "aslkdjfxyzalskdfjaxyzaabc"