gpt4 book ai didi

PHP preg_split,按相同字符分割

转载 作者:行者123 更新时间:2023-12-04 15:23:40 25 4
gpt4 key购买 nike

我正在尝试使用 preg_split 拆分字符串。这是字符串的示例:111235622411我希望输出是这样的:

$arr[0] = "111";
$arr[1] = "2";
$arr[2] = "3";
$arr[3] = "5";
$arr[4] = "6";
$arr[5] = "22";
$arr[6] = "4";
$arr[7] = "11";

因此,如果一个接一个地存在相同的字符,我希望它们位于相同的“ block ”中。我只是想不出我应该使用的正则表达式。如果某些术语有误,我很抱歉,因为我已经有一段时间没有编写 PHP 代码了。

最佳答案

我会使用preg_match_all():

$string = '111235622411';

preg_match_all('/(.)\1*/', $string, $matches);
var_dump($matches[0]);

\1 引用先前捕获的组(.)(任何单个字符)。此功能称为back referencing 。正则表达式重复先前匹配的字符 - 贪婪的 * 意味着它匹配尽可能多的相同字符,这正是问题中所期望的。

输出:

array(8) {
[0]=>
string(3) "111"
[1]=>
string(1) "2"
[2]=>
string(1) "3"
[3]=>
string(1) "5"
[4]=>
string(1) "6"
[5]=>
string(2) "22"
[6]=>
string(1) "4"
[7]=>
string(2) "11"
}

关于PHP preg_split,按相同字符分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com