【发布时间】:2019-07-07 21:37:17
【问题描述】:
我试图用多个分隔符分割一个简单的字符串,但得到了意想不到的结果。
考虑以下字符串: "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
)
我用括号、标志和当然不同的正则表达式玩了一下,但我没有得到预期的行为。我还尝试了一些与 stackOverflow 完全不同的示例,但也得到了错误的结果。我错过了什么吗?
【问题讨论】:
-
非正则表达式解决方案:
$result = explode('-', str_replace(['_', '.'], '-', '1_10_10-Einzel.pdf'));
标签: php regex preg-split