Name
regex
Synopsis
The regex
type allows you to parse tokens in the
workspace using POSIX regular expressions. For information on how to
use regular expressions see the online manuals
ed(1) and regexp(1). A
regex
database-map type is declared like this:
Kname regex expression
The name
is the symbolic name you will use
to reference this database map from inside the RHS of rule sets. The
expression
is the literal text that
composes your regular expression. Here is a simple example:
Knumberedname regex ^[0-9]+<@(aol|msn).com.?>
The intention here is for this regular expression to match any
address that has an all-numeric user part (the part before the
<@
), and a domain part that is either
aol.com
or (the |
character)
msn.com
. To make rules that use this type easier
to write, you can add a -a
switch to the
declaration:
Knumberedname regex -a.FOUND ^[0-9]+<@(aol|msn).com.?>
Here the -a
database switch causes
.FOUND
to be appended to any successful match.
Note that because of the way we have declared this database map,
nothing but the suffix will be returned on a successful match. To get
the original key returned you need to also use the
-m
database switch (-m).
This regex
type can use a number of switches to
good advantage. The complete list is shown in Table 23-24.
Switch |
§ |
Description |
|
Append tag on successful match | |
|
Use basic, not extended, regular expression matching | |
|
Don’t use this database ... |
Get Sendmail, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.