Making an argument parser. I want to split a string into an array where the delimiter is \", \"
except when preceded by \"|\"
. That means string
Ruby's regex engine doesn't support lookbehind (yet).
You'd need to switch to 1.9 or use Oniguruma.
If that's not an option, you can search for |,
and replace it with some sort of marker. After all is said and done, put the |,
back.
You can also try a regex like:
/(?:[^|]), /
But obviously the (?:[^|])
is not zero-width, which means you'll need to do some extra work afterwards.