import java.util.*;
import java.util.stream.*;
import java.util.regex.*;
import static java.util.Map.entry; 

class Ideone
{
	public static Map<Integer, String> map = Map.ofEntries(
	    entry(1, "один"),
	   	entry(12, "двенадцать")
	);
	

	public static void main (String[] args) throws java.lang.Exception
	{
		String s = "Это стоит 1 бакс, а вот это - 12 .";
		List<Integer> lst = new ArrayList<>(map.keySet());
		String rx = "\\b(" + String.join("|", lst.stream().map(Object::toString).collect(Collectors.toList())) + ")\\b";
		//System.out.println( rx ); // => \b(1|12)\b
		Pattern p1 = Pattern.compile(rx);
		Matcher m = p1.matcher(s);
		String result = m.replaceAll(x -> map.get(Integer.parseInt(x.group())) );
		System.out.println( result );
	}
}