【问题标题】:Preg_Split delim number and stringPreg_Split delim 数字和字符串
【发布时间】:2015-07-13 12:43:38
【问题描述】:

preg_split 有问题。我需要一个正则表达式将我的字符串拆分为数字和字符。我的字符串的一个例子是:

1_AB_CD_2_ABC_3_ABD

我想要拆分结果:

1
AB_CD
2
ABC
3
ABD

我已经尝试过这个正则表达式,但是这个不起作用:

 preg_split("/(^\d)(?=_)|(?<=_)(\d)(?=_)/",$sequence,PREG_SPLIT_DELIM_CAPTURE).

【问题讨论】:

  • 你试过这样吗:ideone.com/ifHMJ0 ?
  • 2_AB_3 _AB_CD_ER_1 的结果是什么?
  • 嗨@stribizhev 我已经用一个真实的例子试过你的代码,但结果是这样的:ideone.com/WL2Vxs。还是谢谢...
  • @TusharGupta 您的字符串的结果:2 AB 3 AB_CD_ER 1
  • @VincenzoDiRoberto:ideone.com/MLA5gk 呢?这是一个 regex101 演示:regex101.com/r/hL6tS5/1

标签: php regex preg-split


【解决方案1】:
(?<=\d)_(?=[A-Z0-9]{2})|(?<=[A-Z0-9]{2})_(?=\d)

试试这个。查看演示。

https://regex101.com/r/uE3cC4/26

$returnValue = preg_split('/(?<=\\d)_(?=[A-Z0-9]{2})|(?<=[A-Z0-9]{2})_(?=\\d)/', '1_AB_CD_2_ABC_3_ABD', -1, PREG_SPLIT_NO_EMPTY);

【讨论】:

  • 我已经尝试过您的解决方案,但不起作用。 :( 拆分的字符串不正确
  • 我试过你的解决方案:($result=preg_split("/(?
  • 抱歉,但是使用 preg_split 仍然不起作用。我尝试过使用或不使用 PREG_DELIM_CAPTURE $result=preg_split("/(?
  • @VincenzoDiRoberto 它对我有用。我在 naswer 中也包含了工作代码。不知道你的问题是什么:(
  • 我已经用真实字符串尝试过你的演示,但你的演示不起作用:(你可以用这个字符串测试它:1_ITBI1303000100_2_ITTO10051004_3_ITTO10060018_4_ITBI1303000100
猜你喜欢
相关资源
最近更新 更多
热门标签