Moim celem jest podzielenie ciągu w którym separatorem jest na przykład taki znak: | ale pod warunkiem, że przed tym znakiem nie występuje np. \
$str='string1\|string2|string3'; $pattern="/[^\\\]\|/";
Kod prawie działa prawidłowo, niestety ucinany jest znak występujący przed |, czyli: "2" w ciągu: "string1\|string2". Chciałbym też, żeby skrypt usuwał/pomijał znak: "\", jeśli występuje on tuż przed "|", niestety lookahead nie wszędzie jest prawidłowo wspierany, dlatego zdecyduję się chyba na użycie osobnej funkcji, chyba że można to osiągnąć przy zastosowaniu odpowiedniego wzorca

Wiem jak osiągnąć mój cel innymi sposobami tj. explode + pętla foreach + instrukcja warunkowa, ale interesuje mnie wykonanie tego za pomocą wyrażeń regularnych.
Macie jakieś pomysły na prawidłowy pattern ?
