Swift Regular Expression
[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]* *(|(,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*|((,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~])|(,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]))([!#-'*-+\--.0-9A-Z\^-z|~]|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~])|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]))*(|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*)|[+\--9A-Z_a-z~][+\--9A-Z_a-z~]*(|==*))
POSIX Extended Regular Expression
[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]* *(|(,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*|((,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~])|(,|\u{9}[\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]))([!#-'*-+\--.0-9A-Z\^-z|~]|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~])|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]|[\u{9} ][\u{9} ]*=[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~]))*(|(,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*"((,|[\u{9} ][\u{9} ]*,)[\u{9} ]*[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=[\u{9} ]*"|[\u{9} ][\u{9} ]*=[\u{9} ]*")([\u{9} -!#-\[\]-~\u{80}-\u{FF}]|\\[\u{9} -~\u{80}-\u{FF}])*")*)|[+\--9A-Z_a-z~][+\--9A-Z_a-z~]*(|==*))