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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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} ]*[!#-'*-+\--.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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\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{80}-\u{FF}]*"|[!#-'*-+\--.0-9A-Z\^-z|~][!#-'*-+\--.0-9A-Z\^-z|~]*(=|[\u{9} ][\u{9} ]*=)[\u{9} ]*"[\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\([\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*\\)*[\u{9} -~\u{80}-\u{FF}][\u{9} -!#-\[\]-~\u{80}-\u{FF}]*"))*)|[+\--9A-Z_a-z~][+\--9A-Z_a-z~]*(|==*))