preg_split 不拆分多个分隔符
preg_split does not split multiple delimiters
我试图用多个定界符拆分一个简单的字符串,但得到了意想不到的结果。
考虑以下字符串:
“1_10_10-Einzel.pdf”
使用此调用 preg_split:
$cut = preg_split("/[_\-\.]/", "1_10_10-Einzel.pdf", PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($cut);
我希望得到以下输出:
Array
(
[0] => 1
[1] => 10
[2] => 10
[3] => Einzel
[4] => pdf
)
,但实际上我得到的是:
Array
(
[0] => 1
[1] => 10
[2] => 10-Einzel.pdf
)
我尝试了一些括号、标志,当然还有不同的正则表达式,但我没有得到预期的行为。我还尝试了一些与 Whosebug 完全不同的示例,但也得到了错误的结果。我错过了什么吗?
参数3是limit,4是flags。尝试:
$cut = preg_split("/[_.-]/", "1_10_10-Einzel.pdf", -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($cut);
.
不需要在字符class中转义。 -
也不是第一个或最后一个。
我试图用多个定界符拆分一个简单的字符串,但得到了意想不到的结果。
考虑以下字符串: “1_10_10-Einzel.pdf”
使用此调用 preg_split:
$cut = preg_split("/[_\-\.]/", "1_10_10-Einzel.pdf", PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($cut);
我希望得到以下输出:
Array
(
[0] => 1
[1] => 10
[2] => 10
[3] => Einzel
[4] => pdf
)
,但实际上我得到的是:
Array
(
[0] => 1
[1] => 10
[2] => 10-Einzel.pdf
)
我尝试了一些括号、标志,当然还有不同的正则表达式,但我没有得到预期的行为。我还尝试了一些与 Whosebug 完全不同的示例,但也得到了错误的结果。我错过了什么吗?
参数3是limit,4是flags。尝试:
$cut = preg_split("/[_.-]/", "1_10_10-Einzel.pdf", -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($cut);
.
不需要在字符class中转义。 -
也不是第一个或最后一个。