Regular Expressions
Regular Expression Syntax
This table shows the Check Point implementation of standard regular expression metacharacters.
Metacharacter
|
Name
|
Description
|
\
|
Backslash
|
escape metacharacters
non-printable characters
character types
|
[ ]
|
Square Brackets
|
character class definition
|
( )
|
Parenthesis
|
subpattern, to use metacharacters on the enclosed string
|
{min[,max]}
|
Curly Brackets
|
min/max quantifier
{n} - exactly n occurrences
{n,m} - from n to m occurrences
{n,} - at least n occurrences
|
.
|
Dot
|
match any character
|
?
|
Question Mark
|
zero or one occurrences (equals {0,1})
|
*
|
Asterisk
|
zero or more occurrences of preceding character
|
+
|
Plus Sign
|
one or more occurrences (equals {1,})
|
|
|
Vertical Bar
|
alternative
|
^
|
Circumflex
|
anchor pattern to beginning of buffer (usually a word)
|
$
|
Dollar
|
anchor pattern to end of buffer (usually a word)
|
-
|
hyphen
|
range in character class
|
Using Regular Expressions in Custom Sites
Select only if the application or site URL is entered as a regular expression using the correct syntax.
The meaning of the asterisk ( * ) depends on its use.
- In regular expressions, the asterisk is a metacharacter for zero or more instances of the preceding character.
- Without regular expressions, the asterisk is a wildcard, for zero or more instances of any character.
For example, to block a domain that ends with "example.com" (such as www.example.com):
Regular Expression
|
.*\.example\.com
|
|
Wildcard
|
*.example.com
|
Important! If you use this string as a regular expression, policy install fails. The gateway cannot resolve the regular expression to a URL, because there is no preceding character to find.
|
More examples of regular expressions:
To match subdomains of mydomain.com: (^|.*\.)mydomain\.com
To match domain and subdomains of mydomain.com: (^|.*\.)*mydomain\.com
Using Non-Printable Characters
To use non-printable characters in patterns, escape the reserved character set.
Character
|
Description
|
\a
|
alarm; the BEL character (hex 07)
|
\cx
|
"control-x", where x is any character
|
\e
|
escape (hex 1B)
|
\f
|
formfeed (hex 0C)
|
\n
|
newline (hex 0A)
|
\r
|
carriage return (hex 0D)
|
\t
|
tab (hex 09)
|
\ddd
|
character with octal code ddd
|
\xhh
|
character with hex code hh
|
Using Character Types
To specify types of characters in patterns, escape the reserved character.
Character
|
Description
|
\d
|
any decimal digit [0-9]
|
\D
|
any character that is not a decimal digit
|
\s
|
any whitespace character
|
\S
|
any character that is not whitespace
|
\w
|
any word character (underscore or alphanumeric character)
|
\W
|
any non-word character (not underscore or alphanumeric)
|
|
|