On Wed, Aug 9, 2017 at 2:57 AM, Larry Martell <larry.mart...@gmail.com> wrote:
> On Tue, Aug 8, 2017 at 12:51 PM, Chris Angelico <ros...@gmail.com> wrote:
>> On Wed, Aug 9, 2017 at 2:37 AM, Larry Martell <larry.mart...@gmail.com>
>>> Anyone have any code or know of any packages for validating a regexp?
>>> I have an app that allows users to enter regexps for db searching.
>>> When a user enters an invalid one (e.g. 'A|B|' is one I just saw) it
>>> causes downstream issues. I'd like to flag it at entry time.
>> re.compile()? Although I'm not sure that 'A|B|' is actually invalid.
>> But re.compile("(") throws.
> Yeah, it does not throw for 'A|B|' - but mysql chokes on it with empty
> subexpression for regexp' I'd like to flag it before it gets to SQL.
Okay, so your definition of validity is "what MySQL will accept". In
that case, I'd feed it to MySQL and see if it accepts it. Regexps are
sufficiently varied that you really need to use the same engine for
validation as for execution.