Reemplazar en patrón regex con grupo de otro patrón

Tengo una cuerda como

a#?.text1

Tengo otras dos cadenas como c#1.text2yd#2.text3

Quiero reemplazar #? adentro a#?.text1con a#1.text1si elijo c#1.text2. Si elijo d#2.text3, entonces quiero reemplazar a#?.text1con a#2.text1. ¿Cuál es la forma más fácil de hacer esto? Se me ocurrió una solución usando grupos, pero mi equipo no cree que sea una forma eficiente de hacerlo. Aquí está mi código Java:

Pattern strPattern = Pattern.compile("(\\w+)(#\\?)(\\.\\w+)");
Pattern replacePattern = Pattern.compile("(\\w+)(#\\d+)(\\.\\w+)");

Matcher strMatcher = strPattern.matcher("a#?.text1");
Matcher replaceMatcher1 = replacePattern.matcher("c#1.text2");
Matcher replaceMatcher2 = replacePattern.matcher("d#2.text3");

if(strMatcher.matches() && replaceMatcher1.matches()) {
  String number = replaceMatcher1.group(2);
  return strMatcher.replaceAll(strMatcher.group(1) + number + strMatcher.group(3));
} else if(strMatcher.matches() && replaceMatcher2.matches()) {
  String number = replaceMatcher2.group(2);
  return strMatcher.replaceAll(strMatcher.group(1) + number + strMatcher.group(3));
}

La respuesta que recibí fue que los grupos son ineficientes y tengo que encontrar una manera más fácil de hacerlo.

¿Hay una mejor manera de hacer esto?

Respuesta 1

Tengo dos matrices de bytes que he puesto en una lista de matrices. El código que está aquí: ArrayList al = new ArrayList (); FileInputStream fis = new FileInputStream (bin); fis.read (archivo, 0, 2048); metas = "...

Tengo un proyecto de Java ya en eclipse, y necesito usar las clases allí en el código del servidor de mi proyecto GWT, también en eclipse. Tengo un paquete, llamémoslo com.ejemplo con muchos ...

Tengo un TreeMap con 3 entradas, todas de ArrayLists individuales. Uso el siguiente código: Map <String, List <String>> mapOne = new TreeMap <String, List <String>> (); Lista <...

Recibo el NoClassDefFoundError después de ejecutar el archivo JAR de mi proyecto. La depuración con Eclipse funciona bien, pero aparece este error cada vez que uso el comando de Windows java -jar myproject.jar ya que ...