[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: one last issue - non-capturing

This page is part of the web mail archives of SRFI 115 from before July 7th, 2015. The new archives for SRFI 115 contain all messages, not just those from before July 7th, 2015.

On Thu, May 08, 2014 at 09:26:51PM +0900, Alex Shinn wrote:
> SCSH SREs support controlling of capturing
> or not with the use of , vs ,@.
> It's trivial to write a utility to strip away capturing
> groups from an SRE, and is useful enough that
> we may want to include this as syntax:
>   (w/nocapture sre ...)
> which would strip all capturing groups from the
> enclosed SREs.  There is no corresponding
> w/capture, which would defeat the purpose.

Why does there need to be a syntax for this?

> Ideally I like the idea of libraries of regexps,
> along the lines of Perl's Regexp::Common,
> where this would be most useful.  An even
> better option is the notion of named but non-
> numbered capturing groups, where library
> regexps could advertise the named groups
> they provide without affecting your counts.

I like that idea.  I always found it rather confusing
that names were _also_ numbers.

> The problem with this is that many people
> will want to implement SRFI 115 on top of
> existing regexp implementations which don't
> support such a feature.  As a workaround you
> can just use named captures exclusively and
> not rely on positions.

I'd prefer a procedure which processes an SRE and strips
all capturing groups.  AFAIK there's not reason this has
to be a native SRE operator.  You could even pass a second
argument indicating whether it should strip named matches,
numbered matches, or both.