# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(?:(if\s+)|\|\|\s*)(?<attrName>[\p{L}\p{N}_-]+)(?==")/$1 $<attrName>/gu;t' <<< "<if VERSION=\"A1\" || VERSION=\"A3\"||VERSION=\"a2_%5C%22A3\">
<assign CTA=\"blue\"></assign>
<assign CTA2=\"green\"></assign>
<assign TEXT1=\"Hello%3Cbr/%3EWorld\"></assign>
<elseif attribute-name=\"A2\">
<assign CTA=\"red\"></assign>
<assign CTA2=\"yellow\"></assign>
<assign CTA3=\"brown\"></assign>
<assign TEXT1=\"Click%20%3Ca%20href='https://example.com'%20style='text-decoration:none;color:#000000;'%3Ehere%3C/a%3E\"></assign>
</if>
// condition 2
<if FOO_BAR=\"A4\" || baz-biz=\"A5\">
<assign CTA=\"purple\"></assign>
<assign CTA2=\"orange\"></assign>
<assign TEXT1=\"Hi%20%3Cspan%20style='font-%20weight:bold;'%3EJohn%3C/span%3E\" TEXT2=\"Hello%3Cbr/%3EWorld\"></assign>
</if>
// condition 3
<if LANG=\"en_US\">
<assign TITLE=\"English\"></assign>
</if>"
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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html