【发布时间】:2020-06-16 07:15:51
【问题描述】:
我有这个字符串值
$str="1231B1lB1.1lS1iC1C2.5";
我想用小数分隔字符串和数字。这是当前代码
preg_match_all("/[a-zA-Z]+|\d+/", $str, $matches);
print_r($matches[0]);
如果字符串没有“。”,它工作正常。 谁能建议如何使它与“。”一起使用。 ?
提前谢谢你。
【问题讨论】:
-
你的预期输出是什么?
-
转过来。第一个数字带点,然后是字母:
[0-9\.]+|\w -
嗨,我希望得到 $matches[0]= 1231 $matches[1]= B $matches[2]= 1 $matches[3]= lB $matches[4]= 1.1
-
感谢您的建议,它几乎可以按我的意愿工作,但在此示例中,iC 应该在同一个数组中。我怎样才能得到它?
-
试试
\d+(?:\.\d+)?|[^\W\d]+regex101.com/r/L4SHsk/1
标签: php regex preg-match-all