>我有字符串,它的输出结果可能是这样的:
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
感谢您的想法!