Using RexEg for URL pattern matching
The CrowdHandler pattern matching engine uses POSIX-Extended regular expression syntax.
https://en.wikibooks.org/wiki/Regular_Expressions/POSIX_Basic_Regular_Expressions
https://www.regular-expressions.info/posix.html
For example:
.od matches any three-character string ending with "od", including "hod", "mod", and "nod".
[hm]od matches "hod" and "mod".
[^m]od matches all strings matched by .od except "mod".
^[hm]od matches "hod" and "mod", but only at the beginning of the string or line.
[hm]od$ matches "hod" and "mod", but only at the end of the string or line.
\[.\] matches any single character surrounded by "[" and "]" since the brackets are escaped, for example: "[a]" and "[b]".
/(product1|product2)$
Matches:
https://my-domain.com/product1
https://my-domain.com/product2
but NOT
https://my-domain.com/product1/
<span>https://my-domain.com/products/product1</span>
https://my-domain.com/product3
.*\/(product1|product2)\/$
Matches:
https://my-domain.com/product1/
https://my-domain.com/product2/
AND
<span>https://my-domain.com/products/product1/</span>
<span><span>but </span><strong><span>NOT</span></strong></span>
https://my-domain.com/product1
https://my-domain.com/product2
https://my-domain.com/product3
.*\/(product1|product2)\/?$
Matches:
https://my-domain.com/product1
https://my-domain.com/product2
AND
https://my-domain.com/product1
https://my-domain.com/product1/
<span>https://my-domain.com/products/product1</span>
<span>https://my-domain.com/products/product1/</span>
https://my-domain.com/product2
https://my-domain.com/product2/
https://my-domain.com/products/product2
https://my-domain.com/products/product2/
<span>https://my-domain.com/products/details/product1</span>
<span>etc</span>
<span>but </span><strong><span>NOT</span></strong>
https://my-domain.com/product3
https://my-domain.com/products/product3