Хотя я ненавижу спорить с собой, другое возможное решение:
var matches = 'a=>aa|b=>b||b|c=>cc'.split(/\b\s*\|\s*\b/g);
Значение: разделить, когда вы видите |
в окружении пробелов и между буквенно-цифровыми символами.
Эта версия также не затрагивает d|=d
.
\b
может привести к ошибкам, но может не разделиться, если канал не состоит из буквенно-цифровых символов, например a=>(a+a)|b=>b
не будет разделяться.