From: Allen Hubbe Date: Tue, 26 May 2015 21:04:41 GMT Subject: Re: [PATCH v5 1/1] send-email: Add sendmail email aliases format Message-ID: In-Reply-To: On Tue, May 26, 2015 at 4:53 PM, Eric Sunshine wrote: > On Tue, May 26, 2015 at 3:41 PM, Allen Hubbe wrote: >> On Tue, May 26, 2015 at 3:10 PM, Eric Sunshine wrote: >>> On Saturday, May 23, 2015, Allen Hubbe wrote: >>>> + # recognize lines that look like an alias >>>> + elsif (/^(\S+)\s*:\s*(.+?)$/) { >>> >>> Observation: Given "foo:bar:baz", this regex will take "foo:bar" as >>> the key, and "baz" as the value, which is probably not what was >>> intended, however, it likely doesn't matter much in this case since >>> colon isn't legal in an email address[1]. >> >> That's a keen observation. I think it would work simply to use a >> non-greedy +? in the first capture group. > > Yes, that would work. Alternately: /^([^\s:]+)\s*:\s*(.+?)$/ I will use the non-greedy +? because the resulting expression is easier to read. I will remove the non-greedy +? from the second capture group. It serves no purpose there any more. It had been there to allow matching a trailing backslash after the group, but now lines with trailing backslash are ignored entirely before reaching here.