Cómo puedo realizar una búsqueda de patrones que no distinga entre mayúsculas y minúsculas y un reemplazo para preservar mayúsculas y minúsculas?

Aquí está el escenario.

String strText = "ABC abc Abc aBC abC aBc ABc AbC";
// Adding a HTML content to this
String searchText = "abc";
String strFormatted = strText.replaceAll(
    "(?i)" + searchText, 
    "<font color='red'>" + searchText + "</font>");

Esto devuelve una cadena con todas las palabras en minúsculas y, por supuesto, en color rojo. Mi requisito es obtener elstrFormatted como una cadena con el mismo caso que la cadena original, pero debe tener la etiqueta Fuente.

Es posible hacer esto

Respuestas a la pregunta(4)

Su respuesta a la pregunta