const regex = /((object|inherited) \w+:[ ](TMgDBEdit).*?)((Color = clInactiveCaptionText\n)|(\n\s+end))/gmis;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('((object|inherited) \\w+:[ ](TMgDBEdit).*?)((Color = clInactiveCaptionText\\n)|(\\n\\s+end))', 'gmis')
const str = ` object Ed_PRO_ST_DESCRICAO: TMgDBEdit
Left = 132
Top = 81
Width = 675
Height = 21
AutoSize = False
Color = clInactiveCaptionText
DataField = 'PRO_ST_DESCRICAO'
DataSource = Dm_AdmInt.Ds_Produtos_
TabOrder = 4
OnChange = Ed_PRO_ST_DESCRICAOChange
OnExit = Ed_PRO_ST_DESCRICAOExit
OnKeyPress = Ed_PRO_ST_DESCRICAOKeyPress
Password = False
end
object Ed_PRO_ST_NARRATIVA1: TMgDBMemo
Left = 132
Top = 157
Width = 675
Height = 78
DataField = 'PRO_ST_NARRATIVA'
DataSource = Dm_AdmInt.Ds_Produtos_
MaxLength = 500
ScrollBars = ssVertical
TabOrder = 7
end
`;
const subst = `\1ParentFont = True\n`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions