Forum: Cfengine Help
Subject: Re: regex help
Author: sauer
Link to topic: https://cfengine.com/forum/read.php?3,21705,21762#msg-21762

neilhwatson Wrote:
-------------------------------------------------------
> I removed :? from the expression but still no
> matches.

Sorry - I wasn't paying attention to the end of the regex, since it scrolled 
off the edge of my screen.  There's another zero-width expression (a negative 
lookahead) at the end, and it doesn't follow the "you still need a 
positive-width expression to match the space the zero-width look-around also 
matched" rule. :)

You have

(:?\S+\s+){4}\S+(?<!00 3 1 \* 
\*)\s+/usr/scripts/util/distributed-multipath-ck.sh\s*(?!2>&1 > /dev/null)

right?

The easiest thing to do there would be to just put a .* at the very end after 
the lookahead.  The thing you have matches with pcregrep because the expression 
isn't anchored, but cfengine has an implicit ^ at the beginning and $ at the 
end.  So, the anchoring is probably what's screwing you.  When you test an 
anchored regexp outside of cfengine, remember to stick the ^ and $ on either 
end. :)

Oh, and don't forget to escape that period in the script path. ;)

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to