php - 如何用任何整数分解字符串?正则表达式?

标签 php regex preg-split

这看起来一定很简单,但是正则表达式让我非常困惑。我正在获取看起来像 typeX、optionX、groupX 等的 $_GET 变量,其中 X 等于任何正整数。然后我需要在整数处拆分字符串,以便 type1 成为“类型和”1 的数组,但是 type10 必须成为“类型”和“10”而不是“类型”和“1”和“0”的数组。

我完全不熟悉正则表达式模式,但最终想出了:

$array = preg_split("#\\d+#", $key, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);

但它只是从末尾删除了数字,而不是将字符串拆分为两个数组,如结果所示:

Array ( [0] => type )

此外,我不确定这是否会将数字 10 进一步拆分为 1 和 0,我不希望这样。我觉得这可能是一个头脑 NumPy 的简单解决方案,但我在这里原地打转。

最佳答案

您应该使用 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);

?>

请注意,您可以使用 |“按位或”运算符组合多个标志。

输出:

Array
(
    [0] => group
    [1] => 12
)

关于php - 如何用任何整数分解字符串?正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7908327/

相关文章:

Javascript正则表达式,循环中的变量带有转义字符

php - 如何用大写字母分隔单词?

PHP Regex - 使用逗号分隔符拆分字符串,忽略标签之间的逗号

php - 在每三个字符实例上拆分一个字符串

php - Mysql 连接多列

php - TCPDF - 以两列布局循环数据

php - OpenAI GPT-3 API : Why am I getting different completions on Playground vs. API?

php - 比较日期时间今天的日期与创建日期

javascript - 在 JS 中添加美元符号以优化网站的价格

php - 无法让我的多个正则表达式适用于 URL 结构中的特定情况