Some PCRE assistance
list Rich Smrcina
I've checked the PCRE tutorial and several other sites and I can not find a good match to what I'm trying to do. I've also run several iterations through pcretest with no joy. I have a list of users (actually virtual machine names) with the heading 'UserID'. I would like to set up a regex to match any of them, except for the heading. Basically, to count the machines, but ignore the heading line. I've tried variations of "(!Userid|.*)" with no luck. Thanks. -- Rich Smrcina VM Assist, Inc. Phone: XXX-XXX-XXXX Ans Service: XXX-XXX-XXXX user-61add9955ef9@xymon.invalid Catch the WAVV! http://www.wavv.org WAVV 2007 - Green Bay, WI - May 18-22, 2007
list Galen Johnson
▸
Rich Smrcina wrote:
I've checked the PCRE tutorial and several other sites and I can not find a good match to what I'm trying to do. I've also run several iterations through pcretest with no joy. I have a list of users (actually virtual machine names) with the heading 'UserID'. I would like to set up a regex to match any of them, except for the heading. Basically, to count the machines, but ignore the heading line. I've tried variations of "(!Userid|.*)" with no luck. Thanks.
Is this within a script or a hobbit config file? =G=
list Rich Smrcina
hobbit-clients.cfg Galen Johnson wrote:
Rich Smrcina wrote:I've checked the PCRE tutorial and several other sites and I can not find a good match to what I'm trying to do. I've also run several iterations through pcretest with no joy. I have a list of users (actually virtual machine names) with the heading 'UserID'. I would like to set up a regex to match any of them, except for the heading. Basically, to count the machines, but ignore the heading line. I've tried variations of "(!Userid|.*)" with no luck. Thanks.Is this within a script or a hobbit config file? =G=
-- Rich Smrcina VM Assist, Inc. Phone: XXX-XXX-XXXX Ans Service: XXX-XXX-XXXX user-61add9955ef9@xymon.invalid Catch the WAVV! http://www.wavv.org WAVV 2007 - Green Bay, WI - May 18-22, 2007
list Craig Cook
Can you post 3-4 lines of sample data (including your header line)? I suspect the .* is being greedy. Craig Cook -- Systems Monitoring Consulting and Support Services http://www.cookitservices.com
list Charles Goyard
Hi,
▸
Rich Smrcina wrote :I've checked the PCRE tutorial and several other sites and I can not find a good match to what I'm trying to do. I've also run several iterations through pcretest with no joy. I have a list of users (actually virtual machine names) with the heading 'UserID'. I would like to set up a regex to match any of them, except for the heading. Basically, to count the machines, but ignore the heading line. I've tried variations of "(!Userid|.*)" with no luck.
I guess you want to do it something like the procs column. If the format is : Userid john jane you might want to try that : ^(?!Userid)(.+) (Search the string "look-ahead assertion" in perlre(1) for some explanation of this. Don't forget to add the preceding % in your configfile. It basically permits one to make pattern match only if they are not preceded or followed by certain expressions. (Very useful when piggy-parsing HTML :). -- Charles Goyard - user-98f9625a7a59@xymon.invalid - (+33) 1 45 38 01 31
list Rich Smrcina
Yes, that is the format of the list. I actually solved the problem another way, I always thought the heading line was superfluous in this case anyway. This is for a procs test for the z/VM client that I'm writing. In this case a dispatchable unit of work is a virtual machine, so the 'process' list contain the names of the virtual machines. Well since it is just a list of names and not process numbers, CPU Time, command, etc, I just changed the back-end client code to not require the heading line coming from the client. Thanks to all who responded.
▸
Charles Goyard wrote:Hi, Rich Smrcina wrote :I've checked the PCRE tutorial and several other sites and I can not find a good match to what I'm trying to do. I've also run several iterations through pcretest with no joy. I have a list of users (actually virtual machine names) with the heading 'UserID'. I would like to set up a regex to match any of them, except for the heading. Basically, to count the machines, but ignore the heading line. I've tried variations of "(!Userid|.*)" with no luck.I guess you want to do it something like the procs column. If the format is : Userid john jane you might want to try that : ^(?!Userid)(.+) (Search the string "look-ahead assertion" in perlre(1) for some explanation of this. Don't forget to add the preceding % in your configfile. It basically permits one to make pattern match only if they are not preceded or followed by certain expressions. (Very useful when piggy-parsing HTML :).
-- Rich Smrcina VM Assist, Inc. Phone: XXX-XXX-XXXX Ans Service: XXX-XXX-XXXX user-61add9955ef9@xymon.invalid Catch the WAVV! http://www.wavv.org WAVV 2007 - Green Bay, WI - May 18-22, 2007