Re: Help with a not match

"Campbell, Lance" <[email protected]> Fri, 9 Nov 2018 17:59:07 +0000
Newsgroups gmane.comp.db.postgresql.sql
Message-ID <[email protected]>
Very helpful.  I am almost there.  

I created this SQL:

SELECT regexp_matches(content, '/(?!files/'||id||'/)(files/\d+/)/', 'g') FROM tablea

I get no matches.  My guess is I am close but slightly off on the syntax.

Lance

On 11/9/18, 11:22 AM, "David G. Johnston" <[email protected]> wrote:

    The convention on these lists is to bottom-post and trim unnecessary context.
    
    On Fri, Nov 9, 2018 at 10:08 AM Campbell, Lance <[email protected]> wrote:
    > The SQL you provided is the opposite of what I was looking for.  Thanks though.
    
    See if these help you:
    
    SELECT * FROM regexp_matches('/123/ /456/', '/(?!123)(\d+)/', 'g');
    SELECT * FROM regexp_matches('/123/', '/(?!123)(\d+)/', 'g');
    SELECT * FROM regexp_matches('/456/', '/(?!123)(\d+)/', 'g');
    
    Your main problem is the scenario where the desired string does exist
    but then others that are unexpected exist as well.  Without that its
    as simple as locating ones with the correct string and then negating
    the result.  You may find you want to use multiple tests and combine
    them with AND/OR.
    
    David J.