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() 或其他方法吗?我也需要更改我的正则表达式吗?如果是这样,我应该使用哪个正则表达式来匹配“:”字符之前的数字?
感谢您提供信息和帮助!
成功了!
preg_match_all('(^(.*):)', $string, $matches);
echo $matches[1][0]; // output is right! 14, 14, 10, 1, 1
https://regex101.com/r/aZ5uQ6/1
谢谢你的想法!
重申一下,正则表达式不是这项工作的正确工具。
$output = explode(":",$input)[0];
我有一个字符串,它的输出结果可能是这样的:
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() 或其他方法吗?我也需要更改我的正则表达式吗?如果是这样,我应该使用哪个正则表达式来匹配“:”字符之前的数字?
感谢您提供信息和帮助!
成功了!
preg_match_all('(^(.*):)', $string, $matches);
echo $matches[1][0]; // output is right! 14, 14, 10, 1, 1
https://regex101.com/r/aZ5uQ6/1
谢谢你的想法!
重申一下,正则表达式不是这项工作的正确工具。
$output = explode(":",$input)[0];