Regex with multiple returns

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?)

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

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs