php从字符串中提取一些数字
我有下一个字符串:php从字符串中提取一些数字,php,regex,Php,Regex,我有下一个字符串: generation_1_2 generation_2_8 generation_3_12 如何将此字符串中的数字放入变量中? 例如: $digit1[0] is 1. $digit1[1] is 2. $digit1[1] is 3. $digit1[0] is 2. $digit1[1] is 8. $digit1[2] is 12. 谢谢您的帮助。如果要提取尾随数字,可以执行以下操作: function ret_int($str){ return array
generation_1_2
generation_2_8
generation_3_12
如何将此字符串中的数字放入变量中?
例如:
$digit1[0] is 1.
$digit1[1] is 2.
$digit1[1] is 3.
$digit1[0] is 2.
$digit1[1] is 8.
$digit1[2] is 12.
谢谢您的帮助。如果要提取尾随数字,可以执行以下操作:
function ret_int($str){
return array_slice(explode('_', $str), 1);
}
if(preg_match_all('/(\d+)$/m',$input,$m)){
// $m[1] will have all the matches.
}
编辑:
回答已编辑的问题以提取两个数字:
$digit = array();
if(preg_match_all('/(\d+)\D*(\d+)$/m',$input,$m)) {
$digit = array_merge($m[1],$m[2]);
}
如果您只想从字符串中提取数字,可以像fabrik编写的那样使用它们(
$arr=array\u slice(explode(“,$str),1);
)
然后使用,将它们转换为如下整数:$int\u a=intval($str\u a,10)
其中$str\u a
是数组中的一个字符串$arr
,不知何故,您的“下一个字符串”与示例不匹配。请指定。它应该是“$digit1[2]是3”,即它“$digit2[1]是8”?