For example : <element name="XYZ" type="string">9032905776</element>
In above regex we need to check whether the name attribute has value "XYZ" or not.
if name attribute contain "XYZ" then it should skip type="String" and mask 9032905776 as ***.
Expected Output: <element name="XYZ" type="string">***</element>
final String expressionTemplate = "(?<=<element name=\"(?i:XYZ)\"[a-z?]>)(.*?)(?=</element>)";
System.out.println("Regex :"+expressionTemplate);
System.out.println("\nRequest Before :"+dummy);
System.out.println("Request After :"+dummy.replaceAll(expressionTemplate.toString(), "*****"));
out put :