Regex with multiple returns


#1

Is there a Ruby regex that can return all of the following:
boringstuff(returnthisplease)notthis(butthis)dontwantthis(butIdowantthisnomatterhowmanyparenthiesisthereare)

If I only had one pair of parens, I would just do:
/[^()]+((\w+?))/

but for varying amounts I don’t know how to do it.

(Maybe I could group the whole thing in parens and put a + after it -
but then it would return the whole thing also - is there a way around
this?)


#2

Robert K. wrote:

‘boringstuff(returnthisplease)notthis(butthis)dontwantthis(butIdowantthisn
omatterhowmanyparenthiesisthereare)’.scan(/(([^)]*))/).map {|m|m[0]}
=> [“returnthisplease”, “butthis”,
“butIdowantthisnomatterhowmanyparenthiesisthereare”]

robert

p “junk(keep)trash(this)detritus(text)”.scan(/((.*?))/).flatten


#3

List R. wrote:

Is there a Ruby regex that can return all of the following:

boringstuff(returnthisplease)notthis(butthis)dontwantthis(butIdowantthisno
matterhowmanyparenthiesisthereare)

If I only had one pair of parens, I would just do:
/[^()]+((\w+?))/

but for varying amounts I don’t know how to do it.

(Maybe I could group the whole thing in parens and put a + after it -
but then it would return the whole thing also - is there a way around
this?)

‘boringstuff(returnthisplease)notthis(butthis)dontwantthis(butIdowantthisn
omatterhowmanyparenthiesisthereare)’.scan(/(([^)]*))/).map {|m|m[0]}
=> [“returnthisplease”, “butthis”,
“butIdowantthisnomatterhowmanyparenthiesisthereare”]

robert