我使用php的preg_split分割基於分號的字符串,但我需要它只分裂在非轉義的分號。正則表達式分裂所有未轉義的分號
<?
$str = "abc;def\\;abc;def";
$arr = preg_split("/;/", $str);
print_r($arr);
?>
產地:
Array
(
[0] => abc
[1] => def\
[2] => abc
[3] => def
)
當我希望它產生:
Array
(
[0] => abc
[1] => def\;abc
[2] => def
)
我已經試過"/(^\\)?;/"
或"/[^\\]?;/"
但他們都產生錯誤。有任何想法嗎?
@Corey,如果你不想在最終輸出中使用分號,爲什麼還要逃脫分號? – 2010-01-20 08:24:05
@Doug錯字,在最終輸出中添加了分號 – 2010-01-20 08:34:06
逃生逃脫了嗎?換句話說,字符串文字是否可以像這樣:''abc; def \\\\; abc; def「'(split into:[abc,def \\,abc,def'])? – 2010-01-20 11:51:39