[R-pkg-devel] perl = TRUE fails on ubuntu
Josiah Parry
jo@|@h@p@rry @end|ng |rom gm@||@com
Wed May 28 00:31:16 CEST 2025
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 <kevinushey using 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.parry using 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 using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
[[alternative HTML version deleted]]
More information about the R-package-devel
mailing list