From: "David A. Black" Date: 2004-07-04T21:34:11+09:00 Subject: Re: Regular expression question Hi -- On Sun, 4 Jul 2004, George Moschovitis wrote: > Hello everyone! > > I have a question regarding regular expressions. Let me explain > with an example. I have the string: > > "{b}Text{/b} kokoko {b}Lalal{/b}" > > and i want to convert it to this string > > "Text kokoko Lalal" > > if I use the following gsub: > > str.gsub!(/\{b\}(.*)\{\/b\}/, '\1') > > I get: > > "Text{/b} kokoko {b}Lalal" > > not what I want. If I use > > str.gsub!(/\{b\}([^\{]*)\{\/b\}/, '\1') > > I get the correct anwser, but i dont like this > regular expression. Does ruby support an equivalent > to the /g option that perl provides? If not is there > a workaround? I would like to use something like: > > str.gsub!(/\{b\}(.*)\{\/b\}/g, '\1') > > Any help will be apreciated! Actually gsub *is* the /g equivalent :-) The problem is that you need to make the .* match non-greedy: str.gsub!(/\{b}(.*?)\{\/b}/, '\1') (You'd have to do this with /g in Perl too.) David -- David A. Black dblack@wobblini.net