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