[ 'imapQuery' => 'FROM "@synergy.net.au"', 'regex' => '/New charges: \$(?[0-9]+(\.[0-9]{2})?) Due (?\d{1,2} \w{3} \d+)/' ], 'Water' => [ 'imapQuery' => 'FROM "@watercorporation.com.au"', 'regex' => '/Due date:.*?(?\d{1,2}\/\d{2}\/\d{4}).*?Amount to pay:.*\$(?[0-9]+(\.[0-9]{2})?)/', 'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'base64_decode'), 'dateTransform' => function($date) { return str_replace('/', '-', $date); } ], 'Internet' => [ 'imapQuery' => 'FROM "@online.telstra.com"', 'regex' => '/Total \$(?[0-9]+(\.[0-9]{2})?).*?Due Date (?\d{1,2} \w{3} \d{4})/', 'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'html_entity_decode') ], 'Gas' => [ 'imapQuery' => 'FROM "@energy.agl.com.au"', 'regex' => '/Direct Debit amount: \$(?[0-9]+(\.[0-9]{2})?).*?Direct Debit date: (?\d{1,2} \w{3} \d+)/', 'messageTransform' => ∘(glue(" "), map('trim'), lines) ] ];