Without the lookahead your search and replace consumes the second pipe, so subsequent attempts to match will start beyond it. I would not call it a workaround - it's a valid solution to the task.
🦛
In reply to Re^3: Substitution is replacing one character set out of two
by hippo
in thread Substitution is replacing one character set out of two
by sroux
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |