Perl:
"test" =~ s/(.*)$/\1s/gr # => "testss
Ruby (same engine as Perl):
"test".gsub(/(.*)$/, "\\1s") # => "testss"
Java:
"test".replaceAll("(.*)$", "$1s") // => "testss"
Clojure (same engine as Java):
(clojure.string/replace "test" #"(.*)$" "$1s") ; => "testss"
JS:
"test".replace(/(.*)$/, "$1s") // => 'tests'
Python:
re.sub(r"(.*)$", "\\1s", "test") # => 'tests'
Go:
re := regexp.MustCompile("(.*)$")
re.ReplaceAllString("test", "${1}s") // => "tests"
Sed:
echo -n test | sed -E 's/(.*)$/\1s/g' # => "tests"
gawk:
echo test | gawk '{ print gensub(/(.*)$/, "\\1s", "g", $0) }' # => "tests"