perlNewby has asked for the wisdom of the Perl Monks concerning the following question:
Ok, my problem is quite simple, but it is frustrating since I am a beginner and cannot get my REGEX to match like it is supposed to. I am trying to get it to match:
"sort by (CPU|USER|PID|MEM|COMMAND)" so it should match sort by followed by one of the choices of command and allow for spaces before, between and after each word entered. It works, but it will only match the last 4, but will not match the first option "CPU". I switched words around and put MEM first, then it stopped matching MEM and then matched CPU fine. Oh, and I made it case insensitive also, basically it all works perfect except the first option never matches. Any help would be greatly appreciated. This is my REGEX:
$command =~m/\s*"sort"\s+"by"\s+(CPU|USER|PID|MEM|COMMAND)/i
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: regex issue
by moritz (Cardinal) on Feb 17, 2012 at 08:36 UTC | |
by perlNewby (Initiate) on Feb 17, 2012 at 08:53 UTC | |
by tobyink (Canon) on Feb 17, 2012 at 09:26 UTC | |
by JavaFan (Canon) on Feb 17, 2012 at 10:54 UTC | |
by tobyink (Canon) on Feb 17, 2012 at 11:36 UTC | |
| |
|
Re: regex issue
by choroba (Cardinal) on Feb 17, 2012 at 08:31 UTC | |
by perlNewby (Initiate) on Feb 17, 2012 at 08:44 UTC | |
by choroba (Cardinal) on Feb 17, 2012 at 08:47 UTC | |
by perlNewby (Initiate) on Feb 17, 2012 at 09:01 UTC | |
|
Re: regex issue
by Anonymous Monk on Feb 17, 2012 at 08:30 UTC |