Subject: Re: Anybody willing to share their cl-ppcre regex for validating email address
From: (Rob Warnock)
Date: Sun, 06 Jan 2008 03:50:39 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Robert Uhl  <> wrote:
| If I read the pseudo-BNF in the RFC properly...

Slight aside: What you call "pseudo-BNF" is actually called
"Augmented BNF" (ABNF), a well-known, well-defined extension
of basic BNF. As RFC 2822 "1.2.2. Syntactic notation" notes:

    ... Augmented Backus-Naur Form (ABNF) notation specified in
    [RFC2234] for the formal definitions of the syntax of messages.

RFC 2234 is a "refactoring" of earlier definitions of ABNF, which
was originally specified in RFC 733, copied in RFC 822, and used
in several other RFCs, each of which contained its own definition
of it [though they tended to be pretty much identical]. The main
difference between the ABNF of RFC 2234 and earlier versions is
that the ABNF of RFC 2234 is formally defined both in English
and again *in* ABNF, rather than in just English as in RFC 733.

[Note: RFC 4234 (in 2005) superceded RFC 2234 to correct a
number of minor typos and formatting infelicities. Also see

So it's hardly "pseudo", any more than the "Modified BNF" used
in the ANSI Common Lisp Standard is:


p.s. There is a rich history of extensions to BNF, such as ISO-14977
EBNF <>.

Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607