Col*_*ack 4 php regex preg-split
这似乎必须如此简单,但正则表达式对我来说非常混乱.我正在抓取$ _GET变量,它们看起来像typeX,optionX,groupX等,其中X等于任何正整数.然后我需要将字符串拆分为整数,以便type1变为"type和"1"的数组,但是type10必须成为"type"和"10"不是"type"和"1"和"0"的数组.
我完全不熟悉正则表达式模式,但最终得出结论:
$array = preg_split("#\\d+#", $key, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
但它只是从末尾删除了数字而不是将字符串拆分为两个数组,如结果所示:
Array ( [0] => type )
Run Code Online (Sandbox Code Playgroud)
另外,我不确定这是否会将数字10进一步分为1和0,这是我不想要的.我觉得这可能是一个令人难以置信的简单解决方案,但我在这里旋转.
Mar*_*cus 13
您应该使用该PREG_SPLIT_DELIM_CAPTURE标志来捕获您进行拆分的组.这是一个例子:
<?php
$key= "group12";
$pattern = "/(\d+)/";
$array = preg_split($pattern, $key, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
print_r($array);
?>
Run Code Online (Sandbox Code Playgroud)
请注意,您使用|"按位或"运算符组合了多个标志.
输出:
Array
(
[0] => group
[1] => 12
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3680 次 |
| 最近记录: |