For example I have a string
s = "start |foo bar|, middle, |reg ex| end"
and I would like to change | on square brackets, to get
"start [foo bar], middle, [reg ex] end"
How can I achieve it by using regex?
At least, I would like to capture |foo bar| and |reg ex|, but my method:
/\|.+\|/
captures |foo bar|, middle, |reg ex|
s.match(/\|.+\|/)[0] # => "|foo bar|, middle, |reg ex|"
Try making the regex non-greedy:
or