import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
    public static void main(String[] args) {
        final String regex = "((object|inherited) \\w+:[ ](TMgDBEdit).*?)((Color = clInactiveCaptionText\\n)|(\\n\\s+end))";
        final String string = "        object Ed_PRO_ST_DESCRICAO: TMgDBEdit\n"
	 + "          Left = 132\n"
	 + "          Top = 81\n"
	 + "          Width = 675\n"
	 + "          Height = 21\n"
	 + "          AutoSize = False\n"
	 + "          Color = clInactiveCaptionText\n"
	 + "          DataField = 'PRO_ST_DESCRICAO'\n"
	 + "          DataSource = Dm_AdmInt.Ds_Produtos_\n"
	 + "          TabOrder = 4\n"
	 + "          OnChange = Ed_PRO_ST_DESCRICAOChange\n"
	 + "          OnExit = Ed_PRO_ST_DESCRICAOExit\n"
	 + "          OnKeyPress = Ed_PRO_ST_DESCRICAOKeyPress\n"
	 + "          Password = False\n"
	 + "        end\n"
	 + "        object Ed_PRO_ST_NARRATIVA1: TMgDBMemo\n"
	 + "          Left = 132\n"
	 + "          Top = 157\n"
	 + "          Width = 675\n"
	 + "          Height = 78\n"
	 + "          DataField = 'PRO_ST_NARRATIVA'\n"
	 + "          DataSource = Dm_AdmInt.Ds_Produtos_\n"
	 + "          MaxLength = 500\n"
	 + "          ScrollBars = ssVertical\n"
	 + "          TabOrder = 7\n"
	 + "        end\n";
        final String subst = "\\1ParentFont = True\\n";
        
        final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
        final Matcher matcher = pattern.matcher(string);
        
        // The substituted value will be contained in the result variable
        final String result = matcher.replaceAll(subst);
        
        System.out.println("Substitution result: " + result);
    }
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html