`
local log = ngx.log
local ERR = ngx.ERR
local str = [==["@rx (?:;|{||||||&|&&|\n|\r|\$(|\$((|`|\${|<(|>(|(\s))\s(?:{|\s(\s|\w+=(?:[\s]|\$.|\$.|<.|>.|\'.\'|\".\")\s+|!\s|\$)\s(?:'|\")(?:[\?*[]()-|+\w'\"./\\]+/)?[\\'\"](?:l[\\'\"](?:w[\\'\"]p[\\'\"]-[\\'\"](?:d[\\'\"](?:o[\\'\"]w[\\'\"]n[\\'\"]l[\\'\"]o[\\'\"]a[\\'\"]d|u[\\'\"]m[\\'\"]p)|r[\\'\"]e[\\'\"]q[\\'\"]u[\\'\"]e[\\'\"]s[\\'\"]t|m[\\'\"]i[\\'\"]r[\\'\"]r[\\'\"]o[\\'\"]r)|s(?:[\\'\"](?:b[\\'\"]_[\\'\"]r[\\'\"]e[\\'\"]l[\\'\"]e[\\'\"]a[\\'\"]s[\\'\"]e|c[\\'\"]p[\\'\"]u|m[\\'\"]o[\\'\"]d|p[\\'\"]c[\\'\"]i|u[\\'\"]s[\\'\"]b|-[\\'\"]F|h[\\'\"]w|o[\\'\"]f))?|z[\\'\"](?🙁?:[ef][\\'\"])?g[\\'\"]r[\\'\"]e[\\'\"]p|c[\\'\"](?:a[\\'\"]t|m[\\'\"]p)|m[\\'\"](?:o[\\'\"]r[\\'\"]e|a)|d[\\'\"]i[\\'\"]f[\\'\"]f|l[\\'\"]e[\\'\"]s[\\'\"]s)|e[\\'\"]s[\\'\"]s[\\'\"](?🙁?:f[\\'\"]i[\\'\"]l|p[\\'\"]i[\\'\"]p)[\\'\"]e|e[\\'\"]c[\\'\"]h[\\'\"]o|(?:\s|<|>).)|a[\\'\"]s[\\'\"]t[\\'\"](?:l[\\'\"]o[\\'\"]g(?:[\\'\"]i[\\'\"]n)?|c[\\'\"]o[\\'\"]m[\\'\"]m|(?:\s|<|>).)|o[\\'\"](?:c[\\'\"]a[\\'\"](?:t[\\'\"]e|l)[\\'\"](?:\s|<|>).|g[\\'\"]n[\\'\"]a[\\'\"]m[\\'\"]e)|d[\\'\"](?:c[\\'\"]o[\\'\"]n[\\'\"]f[\\'\"]i[\\'\"]g|d[\\'\"](?:\s|<|>).)|f[\\'\"]t[\\'\"]p(?:[\\'\"]g[\\'\"]e[\\'\"]t)?|(?:[np]|y[\\'\"]n[\\'\"]x)[\\'\"](?:\s|<|>).)|b[\\'\"](?:z[\\'\"](?🙁?:[ef][\\'\"])?g[\\'\"]r[\\'\"]e[\\'\"]p|d[\\'\"]i[\\'\"]f[\\'\"]f|l[\\'\"]e[\\'\"]s[\\'\"]s|m[\\'\"]o[\\'\"]r[\\'\"]e|c[\\'\"]a[\\'\"]t|i[\\'\"]p[\\'\"]2)|s[\\'\"]d[\\'\"](?:c[\\'\"]a[\\'\"]t|i[\\'\"]f[\\'\"]f|t[\\'\"]a[\\'\"]r)|a[\\'\"](?:t[\\'\"]c[\\'\"]h[\\'\"](?:\s|<|>).|s[\\'\"]h)|r[\\'\"]e[\\'\"]a[\\'\"]k[\\'\"]s[\\'\"]w|u[\\'\"]i[\\'\"]l[\\'\"]t[\\'\"]i[\\'\"]n)|c[\\'\"](?:o[\\'\"](?:m[\\'\"](?:p[\\'\"]r[\\'\"]e[\\'\"]s[\\'\"]s|m[\\'\"]a[\\'\"]n[\\'\"]d)[\\'\"](?:\s|<|>).|p[\\'\"]r[\\'\"]o[\\'\"]c)|h[\\'\"](?:d[\\'\"]i[\\'\"]r[\\'\"](?:\s|<|>).|f[\\'\"]l[\\'\"]a[\\'\"]g[\\'\"]s|a[\\'\"]t[\\'\"]t[\\'\"]r|m[\\'\"]o[\\'\"]d)|r[\\'\"]o[\\'\"]n[\\'\"]t[\\'\"]a[\\'\"]b|(?:[cp]|a[\\'\"]t)[\\'\"](?:\s|<|>).|u[\\'\"]r[\\'\"]l|s[\\'\"]h)|f[\\'\"](?:i(?:[\\'\"](?:l[\\'\"]e[\\'\"](?:t[\\'\"]e[\\'\"]s[\\'\"]t|(?:\s|<|>).)|n[\\'\"]d[\\'\"](?:\s|<|>).))?|t[\\'\"]p[\\'\"](?:s[\\'\"]t[\\'\"]a[\\'\"]t[\\'\"]s|w[\\'\"]h[\\'\"]o|(?:\s|<|>).)|u[\\'\"]n[\\'\"]c[\\'\"]t[\\'\"]i[\\'\"]o[\\'\"]n|(?:e[\\'\"]t[\\'\"]c[\\'\"]h|c)[\\'\"](?:\s|<|>).|o[\\'\"]r[\\'\"]e[\\'\"]a[\\'\"]c[\\'\"]h|g[\\'\"]r[\\'\"]e[\\'\"]p)|e[\\'\"](?:n[\\'\"](?:v(?:[\\'\"]-[\\'\"]u[\\'\"]p[\\'\"]d[\\'\"]a[\\'\"]t[\\'\"]e)?|d[\\'\"](?:i[\\'\"]f|s[\\'\"]w))|x[\\'\"](?:p[\\'\"](?:a[\\'\"]n[\\'\"]d|o[\\'\"]r[\\'\"]t|r)|e[\\'\"]c[\\'\"](?:\s|<|>).)|c[\\'\"]h[\\'\"]o[\\'\"](?:\s|<|>).|g[\\'\"]r[\\'\"]e[\\'\"]p|s[\\'\"]a[\\'\"]c|v[\\'\"]a[\\'\"]l)|h[\\'\"](?:t[\\'\"](?:d[\\'\"]i[\\'\"]g[\\'\"]e[\\'\"]s[\\'\"]t|p[\\'\"]a[\\'\"]s[\\'\"]s[\\'\"]w[\\'\"]d)|o[\\'\"]s[\\'\"]t[\\'\"](?:n[\\'\"]a[\\'\"]m[\\'\"]e|i[\\'\"]d)|(?:e[\\'\"]a[\\'\"]d|u[\\'\"]p)[\\'\"](?:\s|<|>).|i[\\'\"]s[\\'\"]t[\\'\"]o[\\'\"]r[\\'\"]y)|i[\\'\"](?:p[\\'\"](?🙁?:6[\\'\"])?t[\\'\"]a[\\'\"]b[\\'\"]l[\\'\"]e[\\'\"]s|c[\\'\"]o[\\'\"]n[\\'\"]f[\\'\"]i[\\'\"]g)|r[\\'\"]b(?:[\\'\"](?:1(?:[\\'\"][89])?|2[\\'\"][012]))?|f[\\'\"]c[\\'\"]o[\\'\"]n[\\'\"]f[\\'\"]i[\\'\"]g|d[\\'\"](?:\s|<|>).)|g[\\'\"](?🙁?:e[\\'\"]t[\\'\"]f[\\'\"]a[\\'\"]c[\\'\"]l|r[\\'\"]e[\\'\"]p|c[\\'\"]c|i[\\'\"]t)[\\'\"](?:\s|<|>).|z[\\'\"](?:c[\\'\"]a[\\'\"]t|i[\\'\"]p)|u[\\'\"]n[\\'\"]z[\\'\"]i[\\'\"]p|d[\\'\"]b)|a[\\'\"](?🙁?:l[\\'\"]i[\\'\"]a[\\'\"]s|w[\\'\"]k)[\\'\"](?:\s|<|>).|d[\\'\"]d[\\'\"]u[\\'\"]s[\\'\"]e[\\'\"]r|p[\\'\"]t[\\'\"]-[\\'\"]g[\\'\"]e[\\'\"]t|r[\\'\"](?:c[\\'\"]h[\\'\"](?:\s|<|>).|p))|d[\\'\"](?:h[\\'\"]c[\\'\"]l[\\'\"]i[\\'\"]e[\\'\"]n[\\'\"]t|(?:i[\\'\"]f[\\'\"]f|u)[\\'\"](?:\s|<|>).|(?:m[\\'\"]e[\\'\"]s|p[\\'\"]k)[\\'\"]g|o[\\'\"](?:a[\\'\"]s|n[\\'\"]e)|a[\\'\"]s[\\'\"]h)|m[\\'\"](?🙁?:k[\\'\"]d[\\'\"]i[\\'\"]r|o[\\'\"]r[\\'\"]e)[\\'\"](?:\s|<|>).|a[\\'\"]i[\\'\"]l[\\'\"](?:x[\\'\"](?:\s|<|>).|q)|l[\\'\"]o[\\'\"]c[\\'\"]a[\\'\"]t[\\'\"]e)|j[\\'\"](?🙁?:a[\\'\"]v[\\'\"]a|o[\\'\"]b[\\'\"]s)[\\'\"](?:\s|<|>).|e[\\'\"]x[\\'\"]e[\\'\"]c)|k[\\'\"]i[\\'\"]l[\\'\"]l[\\'\"](?:a[\\'\"]l[\\'\"]l|(?:\s|<|>).)|(?:G[\\'\"]E[\\'\"]T[\\'\"](?:\s|<|>)|.\s).|7[\\'\"]z(?:[\\'\"][ar])?)\b"]==]
local regex = [[^"((?:[^"\]+|\.)*)"]]
local m, err = ngx.re.match(str, regex, 'jo')
if m then
log(ERR, "match: ", m[0])
else
log(ERR, "not match")
end
`