Your Regex looks overly complex, but does seems to work fine on plain XHTML.
However, if you're using DD4T, the XHTML will be embedded in JSON. As a result, the double quotes will be escaped (preceded by a backslash), in which case the Regex no longer works.
Just obtain the DD4T JSON and test it using an online Regex tester, for example: http://regexstorm....
Refer to this article might help some of the answers - Unwanted Namespaces in Rendered Output
Alternatively, you could also use XmlDocument to load the XHTMLValue to process to remove the Namespaces.
private String RemoveNameSpace(String xml)
XmlDocument xdoc = new XmlDocument();...