<?php
//if -behind- have double or more (\\) match it, but if (\) its one ignore it
//get -behind\\-
$str = 'hey look -behind\\- you';
//ignore -behind\-
$str = 'hey look -behind\- you';
preg_match_all('/\-(.*?)(?<!\\\{2})\-/', $str, $matched);
var_dump($matched);
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
array(2) {
[0]=>
array(1) {
[0]=>
string(9) "-behind\-"
}
[1]=>
array(1) {
[0]=>
string(7) "behind\"
}
}