gpt4 book ai didi

php - 任何数字的正则表达式,后跟空格,然后是带空格的字符串

转载 作者:行者123 更新时间:2023-12-04 07:34:57 25 4
gpt4 key购买 nike

我已经尝试了很多来找到一种将字符串拆分为数组的方法,我发现正则表达式可以帮助我。最接近我需要的结果是这个正则表达式:\d+^[ a-zA-Z] ,但它是不完整的。
我的字符串是这样的:

$str = '12 Cheeseburger bacon 2 Chips 3 Coke'
我需要的结果是一个包含此结果的数组:
[0] = 12 Cheeseburger bacon
[1] = 2 Chips
[2] = 3 Coke
谢谢大家的帮助

最佳答案

此图案\d+^[ a-zA-Z]匹配 1+ 个数字,然后使用 ^ 断言字符串的开头这是不正确的。然后它匹配 [ a-zA-Z] 中的单个字符
您可以通过匹配的数字和匹配的字符 a-zA-Z 获得 3 个结果,其中重复前面有一个空格。

\b\d+(?:\h+[A-Za-z]+)+\b
  • \b一个字边界
  • \d+匹配 1+ 个数字
  • (?:非捕获组
  • \h+[A-Za-z]+匹配 1+ 个空格和 1+ 个范围 A-Za-z

  • )+重复 1+ 次
  • \b一个字边界

  • Regex demo | Php demo
    $re = '/\b\d+(?:\h+[A-Za-z]+)+\b/';
    $str = '12 Cheeseburger bacon 2 Chips 3 Coke';

    preg_match_all($re, $str, $matches);
    print_r($matches[0]);
    输出
    Array
    (
    [0] => 12 Cheeseburger bacon
    [1] => 2 Chips
    [2] => 3 Coke
    )

    关于php - 任何数字的正则表达式,后跟空格,然后是带空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67788782/

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