Addresses are converted from quoted form into internal (raw) form
As I read that
read_hash() does not cater for regular expressions.
There is a subroutine read_hash() available for use in amavisd.conf.
It can read keys from a plain text file, and load them into a Perl hash.
Format of the text file: one address per line, anything from '#' to the end
of line is treated as a comment, but '#' within correctly quoted rfc2821
addresses is not treated as a comment (e.g. a hash sign within
"strange # \"foo\" address"@example.com is valid). Leading and trailing
whitespace is discarded, empty lines (containing only whitespace and comment)
are ignored. Addresses are converted from quoted form into internal (raw)
form and inserted as keys into a given hash, with a value of 1 (true).
Each address can have an associated optional value (also known as the
'righthand side' or RHS) separated from the address by whitespace.
An absence of a value implies 1 (true). The $hashref argument is returned
for convenience, so that one can say for example:
$per_recip_whitelist_sender_lookup_tables = {
'.my1.example.com' => read_hash({},'/var/amavis/my1-example-com.wl'),
'.my2.example.com' => read_hash({},'/var/amavis/my2-example-com.wl') }
Source: http://www.amavis.org/README.lookups.txt
I guess you could make changes to the code of read_hash() - it's perl.
Actually, that would probably be bad
instead clone it to a new name to avoid breaking anything.