/(?:<!--([\s\S]*?)-->)|(?:<!\[CDATA\[([\s\S]*?)\]\]>)|(?:<(\/)?([\w\-_]+)(?::([\w\-_]+))?((?:[\s]*[\w\-_]+(?::[^=]+)?="[^"]*")*)\s*(\/)?>)/gi
В replace, например, попадут аргументы:
result, isComment, isCDATA, isCloseTag, prefix, name, attributes, isEmptyTag, index
Разбор attributes:
/[\s]*([\w\-_]+)(?::([^=]+))?="([^"]*)"/gi
Аргументы:
result, prefix, name, data, index
Хз, может кому и понадобиться.