# ReplaceAll an Expand repeatedly

Is it posible to apply ReplaceAll and Expand repeatedly such as?

expression//.{"substitute", "Expand expression"}


A minimal example

A B //. {A B -> B (C + D) , B C ->  1}

(* B(C+D) *)


However, I want

A B //. {A B -> B (C + D) , B C ->  1}

(* BC + BD *)


and finaly

(* 1+BD *)

• Note C is a protected symbol used to generate integration constants and such. D is the differentiation operator. Generally avoid single capital letters for variables and even beginning variables with capitals. – Michael E2 Feb 13 '18 at 13:11

rules = {A B -> B (C + D), B C -> 1};