我正在尝试清理一些数据,这些数据在字符串的开头有N个数字,在其余部分有一些数字。我只需要提取N个第一个数字。
这是一个示例字符串
1410{{data}} est un program56me de lв556Ђ™
122 datadatadata5654df sdfs989
123datadatadata5654df sdfs989
我需要得到
的结果1410,122,123
答案 0 :(得分:6)
怎么样:
$str = preg_replace('/^(\d+).*$/', "$1", $str);
答案 1 :(得分:3)
尝试使用此正则表达式:
^([0-9]+)?
使用preg_match
命令。
它会在字符串的开头发现连续数字序列。 : - )
示例:
function getInitial($line)
{
$regex = "^([0-9]+)?";
preg_match($regex, $line, $match);
return $match[1];
}
答案 2 :(得分:1)
这应该可以解决问题:^(\d+)
。它将指示正则表达式引擎从字符串的开头开始,匹配一个或多个数字并将它们放在一个组中。任何其他字符都将被忽略。
答案 3 :(得分:1)
据我了解,每行开头至少需要N位数字:
preg_match_all("/^(\d{3,})/m", $text, $matches, PREG_SET_ORDER);
print_r($matches);
答案 4 :(得分:0)
一个可能的正则表达式可能是'#^(\ d +)#':除了php函数preg_match('#^(\d+)#',$string,$param);
之外,$ param [1]将返回这些数字