On Wed, Jun 21, 2006 at 01:56:21PM +0200, Christoph Haas wrote:
>for mentors.debian.net I would like to find a perfect (TM) regular
>expression to split the "Version:" line of a control file into:
>
> - epoch
> - upstream version
> - Debian package revision
>
>My current attempt is:
>
>   ^(?:(\d+):)?(\d[\w\.\+-:]*?)(?:-(.+))?$

If you really want a single regex you could use:

    ^(?:([^:]+):)?(.*?)(?:-([^-]+))?$

My inclination however would be to use multiple steps to split the
version:

    my $epoch = '';
    my $debver = '';
    for ($version)
    {
        $epoch  = $1 if s/^([^:]+)://;
        $debver = $1 if s/-([^-]+)$//;
    }

--bod


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to