Adrien, Ah, negative lookahead. Nice trick, but GnuCash's Find dialog rejects it with a bogus error about an invalid repetition symbol, even when there isn't one: ^(?!Open). raises the error. The PCRE docs say it's supported: http://www.pcre.org/current/doc/html/pcre2syntax.html#SEC19. Lookahead/lookbehind aren't supported in libc's regex.
Regards, John Ralls > On Nov 11, 2019, at 6:40 AM, Adrien Monteleone > <adrien.montele...@lusfiber.net> wrote: > > John, > > I don’t know of any in particular, and I couldn’t seem to find such info. I > found some examples online of doing such a search with the following basic > form: > > ^((?!badword).)*$ > > It is a negative look-around, not an actual negative search. > > I tried it in GnuCash to no avail. I haven’t tested it otherwise to know if > it works at all, but I’d think something implements it somewhere since there > were several hits offering similar advice to such questions. > > Regards, > Adrien > > >> On Nov 10, 2019 w46d314, at 6:06 PM, John Ralls <jra...@ceridwen.us> wrote: >> >> Adrien, >> >> What regex implementation do you know of that has negating patterns? None of >> the ones I know do. >> >> The Transaction report uses Guile regex which just wraps whatever >> libc/msvcrt was used to compile it, generally POSIX Enhanced. It doesn't >> support negating patterns and doesn't have an option to find transactions >> that don't match the provided pattern. IIRC libc regexes also don't support >> UTF8 character classes though they'll match explicit UTF8 characters of the >> same normalization just because the bytes are the same. >> >> The find dialog uses glib pcre (perl-compatible regular expressions) which >> are considerably more powerful than POSIX ones but also don't have negating >> patterns. However the Find dialog has a "doesn't match" setting. Other bits >> of GnuCash use boost::regexes, which understands perl regex syntax. We don't >> use the C++ standard library because it doesn't support UTF8. >> >> Regards, >> John Ralls > > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.