PHP 正则表达式匹配指定字符之前的字符串中的数字


PHP regex match numbers from string before specified character

>我有字符串,它的输出结果可能是这样的:

First : 14:15
Second: 14:2
Third: 10:2
Fourht: 1:20
Fifth: 1:5

我的正则表达式仅与上面的第一个和第三个示例匹配:

/(^[0-9]{2})/
如果有 1:

10 或 1:2 等输出,则没有输出(错误)。

想要的结果:

14
14
10 
1
1

我可以用preg_replace()或其他方式来做吗?我也需要更改我的正则表达式吗?如果是这样,我应该使用哪个正则表达式来匹配":"字符之前的数字?

感谢您提供的信息和帮助!

重申一下,正则表达式不是这项工作的正确工具。

$output = explode(":",$input)[0];

让它工作了!

preg_match_all('(^(.*):)', $string, $matches);
echo $matches[1][0]; // output is right! 14, 14, 10, 1, 1

https://regex101.com/r/aZ5uQ6/1

感谢您的想法!