Re: Question about regex with negated character class

Kaz Kylheku <480-992-1380@kylheku.com>
Mon, 25 Apr 2022 23:46:44 -0000 (UTC)

          From comp.compilers

Related articles
Question about regex with negated character class costello@mitre.org (Roger L Costello) (2022-04-25)
Re: Question about regex with negated character class 480-992-1380@kylheku.com (Kaz Kylheku) (2022-04-25)
| List of all articles for this month |
From: Kaz Kylheku <480-992-1380@kylheku.com>
Newsgroups: comp.compilers
Date: Mon, 25 Apr 2022 23:46:44 -0000 (UTC)
Organization: A noiseless patient Spider
References: 22-04-015
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="97910"; mail-complaints-to="abuse@iecc.com"
Keywords: lex
Posted-Date: 25 Apr 2022 22:40:32 EDT

On 2022-04-25, Roger L Costello <costello@mitre.org> wrote:
> Hi Folks,
>
> On page 12 of the Flex specification it says this:
>
> "A negated character class such as [^A-Z] will match a newline
> unless \n (or an equivalent escape sequence) is one of the characters
> explicitly present
> in the negated character class (e.g., [^A-Z\n]). This is unlike how many other
> regular expression tools treat negated character classes ..."


I suspect this is a documentation mistake (in terms of the the remark it
makes about other regex implementations).


There is something special in Flex with regard to newlines: namely the
any-character regular expression . (dot) does not match any character:
it excludes the newline. The documenter might have momentarily gotten
their wires crossed, misremembering what is the special behavior.


Or else, I also agree with John that it may in fact be a remark about
regex implementations in line-oriented text processing utilities, which
(in their standrad forms, e.g. POSIX) don't have multi-line matching
features in which \n appears as a character.


--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.