Регулярное выражение для разделения по запятым, кроме экранированных
Дано: Строка, например, вида такого: "Казнить|, нельзя, помиловать.
".
Задача: Разделить строку по запятым, но там, где |
(вроде экранирования), запятую нужно игнорировать.
Т.е. должно вернуть это:
["Казнить|, нельзя", " помиловать."]
Возможно просмотр назад дал бы пользу, но в JS
, где мне это нужно сделать, такой фичи нет.
Максимум что добился - это деление по запятой (/([^,]+)/g
, это было легко), без учёта |
(а тут забуксовал) и головная боль.
Заранее благодарен за любую помощь!
UPD:
По большому счёту не важно что будет номинально считаться экранированием запятой - обратный слэш, пайп или квадратик из ASCII-арта, но некто в ответах упёрся бараном в новые ворота на свойства экранирования \
, поэтому теперь экранирует пайп.