Даже если это возможно , это почти наверняка будет "грязно" - почему бы вместо этого не сделать замены простым скриптом? Например ..
#!/usr/bin/env ruby
f = File.new("f1.txt", File::RDWR)
contents = f.read()
contents.gsub!(/\d+/){|m|
m.to_i + 1 # convert the current match to an integer, and add one
}
f.truncate(0) # empty the existing file
f.seek(0) # seek to the start of the file, before writing again
f.write(contents) # write modified file
f.close()
.. и вывод:
$ cat f1.txt
This was one: 1
This two two: 2
$ ruby replacer.rb
$ cat f1.txt
This was one: 2
This two two: 3
В ответ на комментарий Йеруна,
Меня действительно интересовало, существует ли такая возможность в самом регулярном выражении, поскольку они настолько распространены
Регулярное выражение - это на самом деле простой синтаксис сопоставления с образцом. Делать что-либо более сложное, чем поиск / замена на совпадения, будет зависеть от текстовых редакторов, но полезность этого весьма ограничена и может быть достигнута с помощью сценариев, которые позволяют большинство редакторов ( Notepad ++ имеет плагин система, хотя я понятия не имею, как легко использовать).
По сути, если регулярное выражение / поиск и замена не достигнут того, чего вы хотите, я бы сказал, что вы можете использовать ваши скрипты редактора или использовать внешний скрипт.