Re: [netmod] regular expression flavours (again)

Robert Varga <> Thu, 13 June 2019 13:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2D910120298 for <>; Thu, 13 Jun 2019 06:31:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id FzWzjqWewIVA for <>; Thu, 13 Jun 2019 06:31:52 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5F2F1120140 for <>; Thu, 13 Jun 2019 06:31:52 -0700 (PDT)
Received: from nitebug.nitenet.local ( []) by (Postfix) with ESMTPSA id 6953C242AE4; Thu, 13 Jun 2019 15:31:50 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=mail; t=1560432710; bh=OoAmSpZZNo/ISKqVMeAUAvq4OPM9eyi1VP0XSZgaaBI=; h=Subject:To:References:From:Date:In-Reply-To; b=MihLfQQrIFGde/m3voU9hujUkuQQ6fUFFgB0KhveR4xPAX3xEVVWpUZUjhvLRLVXL 6X6+dSX6RWMRgthv2EcuD3icrUVDHoLcNluMPbckAyn1WgmVHH8gvtymkievR8Hjqu skpy0B2HCu9NclqWAQFw3pLTCrSIRTQzwT1rkHIQ=
To: Ladislav Lhotka <>, NETMOD WG <>
References: <> <>
From: Robert Varga <>
Openpgp: preference=signencrypt
Message-ID: <>
Date: Thu, 13 Jun 2019 15:31:49 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mihZ2fToWkGnER0OPD6bjQ5xPXkHkVsSb"
Archived-At: <>
Subject: Re: [netmod] regular expression flavours (again)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 13 Jun 2019 13:31:54 -0000

On 12/06/2019 11:25, Juergen Schoenwaelder wrote:
> That said, they do seem to declare something like
> oc-ext:regexp-posix; but it would have been much smarter to use for
> example oc-posix:regex instead of changing the semantics of the
> pattern statement.

Yes, this would be preferable, but it has a downside: now you need to
carry the patterns twice and must make sure they are in sync. If they
are not, all sorts of implementation-dependent breakage would ensue.

The differences are far from minor where specification is concerned, but
they certainly minor in the vast majoritiy of the use cases and most
users do not even understand REs enough to know they are dealing with a
maze of twisty flavors, all alike.

Do we have an easy way of understanding the corpus of pattern arguments
being 'out there' in real use?

Can we engineer a workable solution for the general case without getting
everyone know the differences in RE engines? Something along the lines
of this: