How to modify HTTP requests matching regex

When you create a modification rule, you will find the following operators – Equals, Contains, Matches (Regex), Matches (Wildcard). In this article, we explain these operators and use cases.

Equals Operator

Equals operator does strict matching of Url intercepted by Chrome with the Url given in rule.

Please note that when you open www.example.com in browser, url intercepted is www.example.com/. Note a trailing ‘/’ slash at the end of Url.
So a rule with Equals operator and Url as www.example.com does not match www.example.com/. So consider adding Slash (‘/’) at the end of url in your rule. You can alternatively create two pairs in the same rule as well.

Example:
Url given in Rule: http://www.google.com
Intercepted Url: http://www.google.com/
Result: Does not match (Observe trailing slash)

Contains Operator

Contains operator does a substring search of string provided in rule inside the Url intercepted by Chrome.

Example1:

String in Rule: yahoo
Intercepted Url: https://www.yahoo.com/
Result: Match

Example2:

String in Rule: com?a=1
Intercepted Url: https://www.got.com?a=2
Result: Does Not Match

Regex Match Operator

Regex Match Operator matches a given Regex with the Url intercepted by chrome. You can also use the values of group expressions in your destination Urls.

Example:

Url Matches (Regex) /(.+).google/ig
Destination https://$1.google.com

In this case, above regex will be matched with intercepted Url. If regex is matched then $1 will be replaced in the destination Url and redirect happens to destination url.

Wildcard Match Operator

Wildcard match operator matches expression with the Url intercepted by chrome. We only support asterisk (*) as wildcard operator. * can match 0 or more characters in intercepted url. Please note that in wildcard match, complete url is matched with given expression and *’s can be replaced with respective values in destination Url.

Example 1:

Expression: *://*.yahoo.com
Url: http://cricket.yahoo.com
Result: $1 = http, $2 = cricket

Example 2:

Expression: *yahoo
Url: http://www.yahoo.com
Result: Does not match. Note the trails does not match

Example 3:

Expression: *yahoo*
Url: http://www.yahoo.com
Result: $1 = http://www. $2=.com

Example 4:

Expression: http://*.yahoo.com
Url: http://cricket.yahoo.com/
Result: Does not match (Observe the trailing slash in Url)

Thank you for reading this document. Please let us know in comments if something needs to be improved.

This article was written by:

Picture of Sagar Soni

Sagar Soni

Sagar is the co-founder and CTO of Requestly. When he's not busy architecting the next big thing in software development, you'll likely find him behind the wheel, cruising the streets and enjoying the thrill of the drive. For Sagar, it's all about the code by day and the open road by night.

Share this article:

You may also like