从第一个数字(整数)开始分割PHP Explode

3

我想要对包含第一个数字(整数)的测试进行拆分。以下是一些词语。

Avant Browser 2013 Build 110

Firefox 23.0 Beta 10

Google Chrome 29.0.1547.41 Beta

我正在尝试这个,但它不起作用。
$in ='Avant Browser 2013 Build 110';

preg_match("/\d[^A-Za-z]+([A-Za-z\s]+)/", $in, $match);

echo $match[0];

需要输出的内容是:-
Avant Browser

Firefox

Google Chrome

请帮忙

3个回答

4

尝试使用这个正则表达式:

^.*?(?=\d)    //start lookup from linestart, get all symbols before first number occurance

再等待两分钟,系统正在请求 ;) - Harinder
请注意,如果没有数字,这将无法工作。例如:"Google Chrome" <-- 不匹配。 - invisal
@invisal 取决于任务和要求。您的解决方案同样有效,但匹配空格字符串 :) - Sergio
1
@Sergio,别误会。我不是在抱怨你的解决方案。我只是想给OP提供一些额外的信息。从OP的示例数据来看,他可能只想获取浏览器名称,并且有可能存在没有版本号的浏览器名称。 - invisal

4

尝试使用这个正则表达式:

^[^0-9]+    // get all non-numeric character and stop when it meets numeric character..

2

使用 preg_match_all 函数

$txt =<<<EOT
Avant Browser 2013 Build 110
Firefox 23.0 Beta 10
Google Chrome 29.0.1547.41 Beta
EOT;

preg_match_all('/^([^0-9]*)/m',$txt,$match);

var_dump($match);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接