为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 字符串分割规则

PHP 字符串分割规则

PHP
Cats萌萌 2023-04-15 10:36:59
常规 exp = (Digits)*(A|B|DF|XY)+(Digits)+我对这种模式感到困惑真的我想在 PHP 中分隔这个字符串,有人可以帮助我我的输入可能是这样的A1234乙12391A12312A1231A 123412 一个 1231234乙 12345678912 XY 1234567890并转换成这个Array(    [0] => 12    [1] => XY    [2] => 1234567890)<?php$input = "12    XY      123456789";print_r(preg_split('/\d*[(A|B|DF|XY)+\d+]+/', $input, 3));//print_r(preg_split('/[\s,]+/', $input, 3));//print_r(preg_split('/\d*[\s,](A|B)+[\s,]\d+/', $input, 3));
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

您可以匹配并捕获数字、字母和数字:


$input = "12    XY      123456789";

if (preg_match('/^(?:(\d+)\s*)?(A|B|DF|XY)(?:\s*(\d+))?$/', $input, $matches)){

    array_shift($matches);

    print_r($matches);

}

  • ^- 字符串的开始

  • (?:(\d+)\s*)?- 可选序列:

    • (\d+)- 第 1 组:任何或更多数字

    • \s*- 0+ 空格

  • (A|B|DF|XY)- 第 2 组:ABDFXY

  • (?:\s*(\d+))?- 可选序列:

    • \s*- 0+ 空格

    • (\d+)- 第 3 组:任何或更多数字

  • $- 字符串结束。


查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信