我有以下模式的字符串:12345ABCDE6789其中每组数字和字母的长度都是可变的。永远只有数字和字母,没有特殊字符。
我需要一种方法来获取数字直到第一个字母,以便上面的示例将返回12345.
我的想法是我可以找到第一个字母的字符串位置,然后将字符串修剪到该位置。但是我无法弄清楚如何在不知道角色是什么的情况下获得该索引。我发现的其他解决方案已经知道第一个字母是“A”,而我的可以是任何字母。
有没有一种简洁的方法来做到这一点?
我对正则表达式没有太多经验,但也许有更好的解决方案来解决这个问题?
<?php
$re = '/^[0-9]+/m';
$str = '12345ABCDE6789';
preg_match($re, $str, $matches);
var_dump($matches[0]); // 12345
Run Code Online (Sandbox Code Playgroud)