querystring.regfilter_except

STRINGquerystring.regfilter_exceptSTRINGurlSTRINGpattern

Available in all subroutines.

Returns the given URL but only keeps the parameters matching a regular expression. Groups within the regular expression are treated as if they were written as non-capturing groups. For example:

if (req.url.qs ~ "key-(?:[0-9]|\w)=(.*)-(.*)") { # captures to re.group.1 and re.group.2
set req.url = querystring.regfilter_except(req.url, "key-([0-9]|\w)"); # does not capture
set req.http.X-Key-1 = re.group.1;
set req.http.X-Key-2 = re.group.2;
}

The "key-([0-9]|\w)" pattern shown here behaves as if it were written as a non-capturing group, "key-(?:[0-9]|\w)", ensuring the contents of re.group.1 and re.group.2 are not affected by the call to querystring.regfilter_except.

Example

set req.url = querystring.regfilter_except(req.url, "^(q|p)$");

User contributed notes

We welcome comments that add use cases, ideas, tips, and caveats. All comments will be moderated before publication. To post support questions, visit our support center and we'll find you the help you need.