fork download
  1. x <- "(pop+corn+unicorn)-bread+salt+malt"
  2. gsub("\\+(?=[^()]*\\))", "|", x, perl=TRUE)
  3. gsub("(?:\\G(?!^)|\\()[^()]*?\\K\\+", "|", x, perl=TRUE)
Success #stdin #stdout 0.23s 39620KB
stdin
Standard input is empty
stdout
[1] "(pop|corn|unicorn)-bread+salt+malt"
[1] "(pop|corn|unicorn)-bread+salt+malt"