正则表达式/abc$/
将匹配出现在行尾的abc
.我该怎么做呢?
我想匹配abc
个不在一行末尾的.
此外,我将使用正则表达式替换字符串,所以我只想捕获abc
,而不是字符串后面的任何内容,所以/abc.+$/
不起作用,因为它不仅会替换abc
,还会替换abc
之后的任何内容.
什么是正确的正则表达式?
正则表达式/abc$/
将匹配出现在行尾的abc
.我该怎么做呢?
我想匹配abc
个不在一行末尾的.
此外,我将使用正则表达式替换字符串,所以我只想捕获abc
,而不是字符串后面的任何内容,所以/abc.+$/
不起作用,因为它不仅会替换abc
,还会替换abc
之后的任何内容.
什么是正确的正则表达式?
/abc(?!$)/
(?!$)
是negative lookahead.它将查找abc的任何匹配项,该匹配项后面不直接跟$
(行尾)
经受考验
将其应用于您的 case :
ruby-1.9.2-p290 :007 > "aslkdjfabcalskdfjaabcaabc".gsub(/abc(?!$)/, 'xyz')
=> "aslkdjfxyzalskdfjaxyzaabc"