Estoy usando php's preg_split para dividir una cadena basada en punto y coma, pero necesito que solo se divida en punto y coma no escapado.Regex para spliting en todos los puntos y comas
<?
$str = "abc;def\\;abc;def";
$arr = preg_split("/;/", $str);
print_r($arr);
?>
Produce:
Array
(
[0] => abc
[1] => def\
[2] => abc
[3] => def
)
Cuando quiero que produzca:
Array
(
[0] => abc
[1] => def\;abc
[2] => def
)
He intentado "/(^\\)?;/"
o "/[^\\]?;/"
pero ambos producen errores. ¿Algunas ideas?
@Corey, ¿por qué se escapó el punto y coma si no lo quieres en tu producción final? –
@Doug Typo, agregado semi-puntos en la salida final –
¿Se pueden escapar los escapes? En otras palabras, ¿puede una cadena literal tener el siguiente aspecto: '" abc; def \\\\; abc; def "' (dividido en: '[abc, def \\, abc, def'])? –