regex
Use regular expressions V8.9 and later
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 on page 888).
This regex
type can
use a number of switches to good advantage. The
complete list is shown in Table 23-24.
Table 23-24. The regex database-map type K command switches
Switch |
§ |
Description |
---|---|---|
|
-a on page 887 |
Append tag on successful match. |
|
The -b regex database-map switch on page 933 |
Use basic, ... |
Get sendmail, 4th 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.