class Ideone {
static void main(String[] args) {
String specialCharRegex = /[\W_&&[^\s]]/;
println('test 1& test'.replaceAll(specialCharRegex, '\\\\$0'));
println('test 1& test 2$'.replaceAll(specialCharRegex, "\\\\\$0"));
println('test 1& test 2$ test 3%'.replaceAll(specialCharRegex, /\\$0/));
println('!"@#$%&/()=?'.replaceAll(specialCharRegex, /\\$0/));
}
}
Y2xhc3MgSWRlb25lIHsKICAgIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCVN0cmluZyBzcGVjaWFsQ2hhclJlZ2V4ID0gL1tcV18mJlteXHNdXS87CgkJcHJpbnRsbigndGVzdCAxJiB0ZXN0Jy5yZXBsYWNlQWxsKHNwZWNpYWxDaGFyUmVnZXgsICdcXFxcJDAnKSk7CgkJcHJpbnRsbigndGVzdCAxJiB0ZXN0IDIkJy5yZXBsYWNlQWxsKHNwZWNpYWxDaGFyUmVnZXgsICJcXFxcXCQwIikpOwoJCXByaW50bG4oJ3Rlc3QgMSYgdGVzdCAyJCB0ZXN0IDMlJy5yZXBsYWNlQWxsKHNwZWNpYWxDaGFyUmVnZXgsIC9cXCQwLykpOwoJCXByaW50bG4oJyEiQCMkJSYvKCk9PycucmVwbGFjZUFsbChzcGVjaWFsQ2hhclJlZ2V4LCAvXFwkMC8pKTsKICAgIH0KfQo=