on 6/13/03 6:18 PM, Jason Creighton at
androflux / remove.to.reply.softhome.net wrote:

> On Fri, 13 Jun 2003 07:56:21 +0900
> John Johnson <jj5412 / earthlink.net> wrote:
> 
>> While all the regexp experts have their ears perked up:
>> 
>> Is there a way to match multiple words in a sentence in any order with one
>> regexp? I.e. I have a configuration file that looks like so:
>> 
>> label lines 12
>> the label is 40 characters wide
>> print field piece name at row 2 column 23
>> print field piece description at column 13 and row 3
>> 
>> (Following Pragmatic Programmer's tips #20, 37, 52, 68, and 69 :-))
>> 
>> I would like to extract the parameter names and values whether row is before
>> column (for instance), or someone wrote 'the number of lines on the label
>> are 12'. Perhaps I'm being a little to flexible here?
>> 
>> ADVthanksANCE!
> 
> Well, you *could* do something like this:
> 
> re = /(column|row) (\d+)/i
> "print field pieve name at row 2 column 23".scan(re)
> # => [["row", "2"], ["column", "23"]]
> "print field piece description at column 13 and row 3".scan(re)
> # => [["column", "13"], ["row", "3"]]
> 
> ri String#scan for more details on scan.
> 
> But I'm not exactly sure if this is what you're trying to do. You might be
> better off with a full-blown parser: I've never used any of the Ruby parser
> packages (Or any parser package for that matter) so I don't how hard that
> would be.
> 
> Jason Creighton
> 

That's interesting (your regexps above), I'll give that a whirl.

Thanks!

-- 
Regards,
  JJ

Finally using a Mac!