Thanks all!

Kevin, I think you make a really good point that the lookbehind isn't
necessary. If I'm checking for the termination of /[0-9]+$ that is
sufficient to know that the string ends with that pattern.

On Tue, May 27, 2025 at 3:24 PM Kevin Ushey <kevinus...@gmail.com> wrote:

> Hi Josiah,
>
> Why not share a reprex / something we can copy and paste to directly
> reproduce the issue?
>
> In any case, I suspect this depends on the underlying PCRE
> implementation, and so isn't really directly an R issue. You might
> have luck if you rewrite your regular expression from:
>
>     (?<=(FeatureServer|MapServer)/)[0-9]+/?$
>
> to something like (I didn't count parentheses below so assume I made a
> mistake)
>
>     (?:(?<=FeatureServer)|(?<=MapServer)))/)[0-9]+/?$
>
> Or, alternatively -- does this really need to be a lookbehind? Can you
> just match that text as-is and then capture whatever you happen to
> find in front of it?
>
> Best,
> Kevin
>
> On Tue, May 27, 2025 at 3:07 PM Josiah Parry <josiah.pa...@gmail.com>
> wrote:
> >
> > Hi all,
> >
> > I've encountered an issue where using `perl = TRUE` for regular
> expressions
> > with grepl() causes an error on ubuntu CI runners only.
> >
> > Is this a known limitation of perl = TRUE for grep and family in base R?
> Or
> > is there a suggested workaround?
> >
> > The issue is specifically with lookbehinds:
> >
> > PCRE pattern compilation error
> > 'lookbehind assertion is not fixed length'
> > at '(?<=(FeatureServer|MapServer)/)[0-9]+/?$'
> >
> > Any guidance would be very much appreciated! I'd like to avoid adding a
> > stringi dependency if possible.
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-package-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

        [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to