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