Hi Viktor and Dominic, > On Apr 7, 2018, at 2:46 AM, Dominic Raferd <domi...@timedicer.co.uk> wrote: > > On 7 April 2018 at 07:39, J Doe <gene...@nativemethods.com > <mailto:gene...@nativemethods.com>> wrote: > Hi Viktor and Dominic, > > If I do the following on Ubuntu 16.04 LTS: > > $ echo "1 2" | egrep '[[:digit:]]\s[[:digit:]]’ > 1 2 > > … where “1 2” are highlighted in bash > > Am I correct that since this POSIX regex for the digits AND the \s is still > being interpreted, my system must support the GNU regex extensions ? > > It is standard Ubuntu it will support GNU regex extensions, but why not use > pcre? It is more powerful, more standardised, and - my impression - more > widely used for Postfix tables. Just do: > $ sudo apt-get install postfix-pcre
Thank you for your reply. It occurred to me that I could side-step the issue of GNU extensions and whether they’re supported by converting the string I e-mailed a couple of e-mails back to full POSIX regex (in this case removing the \s). I ended up with: /^(Received:[[:space:]]from)[^;]+(;[[:space:]][A-Z]{1}[a-z]{2,3},)[[:space:]]+([[:digit:]]{1,2}[^\n]+)/ REPLACE $1 [127.0.0.1] (localhost [127.0.0.1]) by myserver.com$2 $3 …and it works. Have I missed anything else that needs to be converted so that the regular expression is POSIX only ? - J