/.*(?:,\s)(\w+local.xml).*/.match('xpl.xml, demoUK.xml, met_local.xml,
cfg.xml')[1]

That worked for me. Give it a shot.
Don

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mark Gargan
Sent: Thursday, October 27, 2005 12:22 PM
To: wtrList (E-mail)
Subject: [Wtr-general] My regexp is too greedy!!

Have a small problem with the regular expression below.
In the line there's a There's a number of files in comma separated list.
I'm attempting to extract the name of the file that ends with
'local.xml'
i.e. in this case met_local.xml

The following ruby expression 
/ (.*local.xml?)/.match('xpl.xml, demoUK.xml, met_local.xml,
cfg.xml')[1]
returns 
=> "demoUK.xml, met_local.xml"

What I need returned is simply "met_local.xml".
I  was hoping the space at the start of the regexp would mean I'd only
get
the value " met_local.xml" upon which I could 
strip the trailing whitespace and leaved me with my file name.

I guess it's because the regexp is too greedy. Would anyone have any
idea
how I could extract just the filename ending in local.xml ?

In the last fortnight there's been a serious increase in traffic on this
list.
Would that be because of the Google mention? Great stuff. Thoroughly
deserved. 

Thanks,
Mark.



Mark Gargan             
Software Developer
Allfinanz Distribution Software
<<http://www.allfinanz.com/>>
Direct Line: 213 5115
Fax: +353 1 295 2554 
<<mailto:[EMAIL PROTECTED]>>


_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to